[delphi-users:4075] OLEでExcelブック操作時の表示倍率の変更

138 views
Skip to first unread message

OE

unread,
Feb 27, 2015, 1:26:36 AM2/27/15
to delphi...@freeml.com
[開発環境 Delpho2010 Windows7(64)]

こんにちは、OEです。
お世話になります。


OLEでExcelブックを自動処理しているのですが、
その際に表示倍率を変更する方法がわかりません。

Excelでマクロ登録を行ってみた所、
  Sheets("Sheet1").Select
  ActiveWindow.Zoom = 100
でしたので、
WorkBook.Zoom := 100;
とか
  WorkBook.WorkSheets[1].Zoom := 100;
とかやってみましたが、ダメでした。


どなたか教えて頂けると助かります。
よろしくお願いいたします。



----------------------------
既存ブックを開くコード
----------------------------
uses
,Excel2000
---------
{ Private 宣言 }
ExcelObj : OleVariant;
WorkBook : OleVariant;
WorkSheet : OleVariant;
---------
procedure TForm1.Button1Click(Sender: TObject);
var
ACaption : String;
AWnd : HWND;
begin
if VarIsEmpty(ExcelObj) then begin
ExcelObj := CreateOleObject('Excel.Application');
end;
if not VarIsEmpty(WorkBook) then begin
ACaption := ExcelObj.Caption;
AWnd := FindWindow(nil,PChar(ACaption));
WorkBook.Close;
end;
//ブックを開く
WorkBook := ExcelObj.Workbooks.Open('C:\AAA.xls');
WorkSheet := WorkBook.WorkSheets[1];

//表示
ExcelObj.Visible := True;
ExcelObj.ActiveWindow.WindowState := xlMaximized;






MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
人気企画!【温泉1泊2食500円!】箱根・京都・南房総など!
!組数限定企画!早い者勝ち!まずはご応募下さい!!
■大感謝プラン(1):【平日】  ¥500~
■大感謝プラン(2):【土・連休】¥1,500~
http://ad.freeml.com/cgi-bin/sa.cgi?id=m3eZz
------------------------------------------------------[freeml byGMO]--

kame

unread,
Feb 27, 2015, 3:49:50 AM2/27/15
to delphi...@freeml.com
古の記憶なので、自信が無いですが
マクロと同様に

ExcelObj.ActiveWindow.Zoom := 75;

のように書いた気がします。
MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
デザインから、場所から、日時から予約できる
ネイル予約サービス「NAIL+(ネイルプラス)」
http://ad.freeml.com/cgi-bin/sa.cgi?id=m3hpz
予約後にレビューすると3,000円キャッシュバック実施中♪
詳しくは△▲URL▲△を今すぐチェック!
------------------------------------------------------[freeml byGMO]--

OE

unread,
Mar 2, 2015, 7:16:58 PM3/2/15
to delphi...@freeml.com
こんにちは。

すみません、体調崩してしまっていて、
遅くなってしまいました。


kameさん

>ExcelObj.ActiveWindow.Zoom := 75;

大成功です。

今まで、マクロの変換に頭を悩ましていたのですが、
頭に「ExcelObj.」付ければ良いということが理解できて
大変助かりました。

ありがとうございました。



MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
☆*:・`★☆。.:*:・`★*:.。:* ・`☆。.:*:・`★.‥∴★¨∴
    突然の来客、急な出張、勝負の合コン、結婚式、飲み会、
    デート、同窓会・・・
    まいった!まさに今!急な出費に備えての1枚!
http://ad.freeml.com/cgi-bin/sa.cgi?id=m3YN6
☆*:・`★☆。.:*:・`★*:.。:* ・`☆。.:*:・`★.‥∴★¨∴
------------------------------------------------------[freeml byGMO]--

Reply all
Reply to author
Forward
0 new messages