よろしくお願いします。
IEにエクセルファイルを表示して、それを拡大、縮小ができるようにしたいです。
私が考えたのは、VB Scriptを使う方法で、
まずHTMLファイルを起動するとエクセルファイルをIEで表示させ、
次にそれを拡大縮小させようとしたのですがうまくいかず、
次にやってみたのは、
同様にエクセルファイルをIEで表示させた後、
さらに別のエクセルファイルを非表示で読み込み、
そのファイルにあるマクロを呼び、そのマクロで拡大や縮小をする方法です。
しかしそれもどうもうまくいきません。
VB Scriptでマクロを呼ぶことは出来ているのですが、
オブジェクトの指定がうまくいってないのでしょうか、
正常に動作しません。
マクロは以下のとおりです。
'-----------------------------------------------
Public Sub zoomzoom(b As Long)
ActiveWindow.zoom = b
End Sub
'-----------------------------------------------
Public Sub protect()
ActiveSheet.protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
'-----------------------------------------------
Public Sub message()
MsgBox "OK"
End Sub
'-----------------------------------------------
最終的に、エクセルのファイルを、外部から値を渡してその倍率でブラウザに表示させる、ということができれば別にVB Scriptでなくてもかまいません。
なにか良い方法がありましたら教えてください。
No.1ベストアンサー
- 回答日時:
ZOOMはWINDOWオブジェクトに行わなければならいない事は、わかっていると思いますが、、、
EXCEL内部ではなく、IE内部に派生させたBOOKに対しては制限が発生します。
IE内部のBOOKがEXCELとのパイプがつながっている時に、WINDOWオブジェクトを取得しなければなりません。
そのタイミングは、BOOKを持ったIEがアクティブな時だけです。
なのでその瞬間にActiveWindowを取得し、変数に保持しておくことで、WINDOWに対するメソッドが有効になります。
サンプルの注意事項として、、、
> objExplorer.Visible = True
> DoEvents
> Set objWin = objBook.Parent.ActiveWindow
の部分をステップ実行で行うと、IEでなくVBがアクティブになってしまい、アクティブウィンドウを取得できません。
VBサンプルです
Sub Main()
Dim objExplorer As Object
Dim objBook As Object
Dim objWin As Object
Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate "c:\Test.xls"
Do
DoEvents
Loop While objExplorer.busy
Set objBook = objExplorer.Document
objExplorer.Visible = True
DoEvents
Set objWin = objBook.Parent.ActiveWindow
On Error GoTo PGMEND
Do
objWin.Zoom = InputBox("倍率指定 エラーになるような入力をすると終われます。", "開いたIE内のEXCEL倍率変更サンプル")
Loop
PGMEND:
On Error Resume Next
objExplorer.Quit
Set objBook = Nothing
Set objWin = Nothing
Set objExplorer = Nothing
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチによるショートカットの...
-
HTMLプログラムにExcelをリンク...
-
Excel-VBA 撮影日時の取得
-
Excel VBAどこが間違ってますか?
-
複数ファイルダウンロードについて
-
JSONファイルをダウンロードさ...
-
iniファイルのセクションについて
-
FFFTPでサーバに接続すると226 ...
-
subversionからファイル取得時...
-
フォルダ作成用バッチファイル...
-
VBAでファイルパスが長すぎてコ...
-
複数のテキストファイルをexcel...
-
バッチファイルが作成できない
-
OCXのライセンス
-
ASPでCSVファイルを作成しダウ...
-
[VB.NET]クラスのシリアライズ...
-
web.configファイル内、valueに...
-
Excelでdatファイルを作成??
-
テキストファイルを、ファイル...
-
bat ファイルでフォルダ作成&移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチによるショートカットの...
-
1フォルダに保存できるファイル...
-
エクセルVBA ファイルOPEN時の...
-
VBAを使い、Web上からファイル...
-
Excel VBAどこが間違ってますか?
-
Excel-VBA 撮影日時の取得
-
ボタンをファイルにリンクさせたい
-
HTMLプログラムにExcelをリンク...
-
ファイルのアクセス権の取得
-
JSONファイルをダウンロードさ...
-
Windowsのメモ帳でジョークウイ...
-
C#のAxWindowsMediaPlayerから...
-
global.asaについて
-
subversionからファイル取得時...
-
FTPサーバからファイルをダウン...
-
HTMLタグのあるCSVファイルを利...
-
【VC++6.0 MFC】画像表示について
-
エクセルをダウンロードさせる...
-
VBAでファイルを指定して印刷さ...
-
WebLogic/javaで一部JSPだけが...
おすすめ情報