
Win/XP エクセル2002使用です。
VBSからエクセルのマクロを有効にして立ち上げたいのですが、
上手くいきません。
バッチファイル側
cd /D c:\
C:\***.vbs
exit /B
VBS側
'エクセル起動
Set WshShell = CreateObject("WScript.Shell")
WshShell.CurrentDirectory = "C:\***"
WshShell.Run "C:\***\***.xls",3
WScript.Sleep(5000)
WshShell.SendKeys("E") '←マクロを有効にする
WScript.Sleep(5000)
WshShell.SendKeys("U") '←データソースへのリンクを更新
エクセル側(マクロ)
Sub Auto_open()
Application.OnTime TimeValue("13:00:00"), "Action"
End Sub
Sub Action()
・・・(省略)・・・
End Sub
-----------------------------
また、エクセルマクロは、VBSではなく手動で立ち上げますと、
問題なく時間になった時(13時)に作動します。
VBSのRunメソッドが、
エクセルマクロの
Application.OnTime を待たずに走ってしまうことで、
エクセルマクロが無効になってしまっているのではないか?
もしくは、データ更新のための
sendkey("U")によって
マクロが無効になってしまっているのはないか?
と思っています。
恐れ入りますが、
よろしくアドバイスの程お願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
VBS を使うなら、Excel のインスタンスを作り、Workbooks.Open で
ブックを開けばマクロのセキュリティー警告は表示されません。
# Open メソッドの第二引数でリンクの更新も指定できますし
SendKeys を使った方法より確実ですよ。一例です。
REM ■ Sample.bat ------------------------------------------
cd /D c:\
C:\test.vbs
exit /B
' // ■ VBS --- C:\test.vbs --------------------------------
Dim xlApp
Dim xlWbk
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
' // Memo: Workbooks.Open Filename, UpdateLinks ...
' // リンクを更新させて開く
Set xlWbk = xlApp.Workbooks.Open("C:\test.xls", True)
' // ■ Excel --- C:\test.xls -------------------------------
' // ThisWorkbook Module ( Auto_Open 不可では不可)
Private Sub Workbook_Open()
Application.OnTime Now() + TimeValue("00:00:03"), "Action"
End Sub
' // Standard Module
Sub Action()
MsgBox "Hellow!", vbInformation
End Sub
No.2
- 回答日時:
#1 です。
失礼。下記意味不明なことを口走ってますが、、> ' // ThisWorkbook Module ( Auto_Open 不可では不可)
Auto_Open ではなく、ThisWorkbook の Workbook_Open を使って下さい
との意味です。
KenKen_SP 様 早速のご回答ありがとうございます。
むっちゃ速! です(^・^)
ご教授いただいた上に、速い、確実!
最高です。 快調に動きだしました。
今後ともよろしくお願いします。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルのマクロの有効について 4 2023/08/03 11:40
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
このQ&Aを見た人はこんなQ&Aも見ています
-
VBA+VBSによる別インスタンスBookOpen時のVBSエラーに関して
Excel(エクセル)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
Openイベントを開始させないでエクセルを開く方法を教えて下さい
Windows 10
-
-
4
バッチファイルでEXCELを起動し、マクロ処理の完了を検出する方法
その他(プログラミング・Web制作)
-
5
バッチファイルでExcelを読み取り専用で開きたい
Excel(エクセル)
-
6
vbsからのExcelマクロ呼び出しの際に保存ダイアログが表示されてしまう
その他(プログラミング・Web制作)
-
7
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
8
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
9
バッチファイルでエクセルのマクロを動かしたい
Excel(エクセル)
-
10
開いてるファイル(エクセル等)をバッチかVBScript自動的に保存す
その他(Microsoft Office)
-
11
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
12
バッチファイルからVBA実行でエラー
Excel(エクセル)
-
13
バッチ処理 特定の文字以降をリネーム
Ruby
-
14
VBS Bookを閉じるコード
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel マクロの編集がグレーに...
-
WPSOffice_マクロの有効化について
-
複数のマクロボタンをまとめて...
-
エクセル ボタンに設定したマク...
-
Excelのマクロでボタンを押すと...
-
エクセルで、「いいね」のよう...
-
エクセル マクロ名にブック名...
-
エクセルの、記録を終了したマ...
-
エクセルでマクロ(Excel 4.0)...
-
Excelマクロで、稼働中のマクロ...
-
エクセルの表を複数枚印刷した...
-
マクロ実行ボタンを自動削除したい
-
他のBOOKにマクロを反映させな...
-
なぜマクロの記録がなくなって...
-
Excelのマクロ名の並び順の法則...
-
(Excel VBA)シートコピー時マ...
-
エクセルなどで、ボタンを押す...
-
Excelマクロをバックグラウンド...
-
Word-VBAで文字色を一括置換し...
-
Ctrl+Zが使えない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
複数のマクロボタンをまとめて...
-
エクセル ボタンに設定したマク...
-
Excelのマクロでボタンを押すと...
-
エクセル マクロ名にブック名...
-
エクセルでマクロ(Excel 4.0)...
-
Excelマクロで、稼働中のマクロ...
-
エクセルで、「いいね」のよう...
-
エクセルマクロで、別のブック...
-
エクセルの、記録を終了したマ...
-
エクセルの表を複数枚印刷した...
-
別シートのマクロボタンをマク...
-
LDPlayerのマクロの編集方法を...
-
(Excel VBA)シートコピー時マ...
-
Ctrl+Zが使えない
-
Excelで、マクロが含まれ...
-
他のBOOKにマクロを反映させな...
-
Excel:マクロを消す方法教えて...
-
エクセルで明日の日付を表示す...
おすすめ情報