
VBSにDrag&Dropしたファイル名を引数にマクロをコールしています。
Excelのマクロは問題なく動作したのですが、Wordのマクロを呼ぶとVBSで予期せぬエラーが起きてしまいます。
Excelのマクロを使うときは以下のコードです。このコードは問題なく動きます。
01: Dim oApp
02: Dim WshArgs
03: Dim oFileSystem
04: Dim MacroFileName
05: Set WshArgs = WScript.Arguments
06: Set oFileSystem = createObject("Scripting.FileSystemObject")
07: MacroFileName = oFileSystem.getParentFolderName(Wscript.ScriptFullName)&"xxx.xlsm"
08: Set oApp = CreateObject("Excel.Application")
09: oApp.Visible = True
10: oApp.Workbooks.Open MacroFileName
11: oApp.Run "MacroName",WshArgs(0)
12: ' マクロ付ファイルは自身の中で閉じる
Wordのマクロを使うときは、以下の行だけ変更しました。
07: MacroFileName = oFileSystem.getParentFolderName(Wscript.ScriptFullName)&"xxx.docm"
08: Set oApp = CreateObject("Word.Application")
10: oApp.Documents.Open MacroFileName
すると、Wordを開きマクロを実行し、マクロ内の記述によりWordを終了します。
しかし、VBSにて11行目2文字目で予期せぬエラーが発生します。
引数なしのマクロであればWordでも問題なく動作します。
No.1ベストアンサー
- 回答日時:
以下のようなコードでやってみましたが、特に問題は発生しませんね。
おそらく、Wordに搭載されているマクロ自体の問題ではありませんか?
'//
Dim oApp
Dim WshArgs
Dim oFileSystem
Dim MacroFileName
Set WshArgs = WScript.Arguments
Set oFileSystem = createObject("Scripting.FileSystemObject")
MacroFileName = oFileSystem.getParentFolderName(Wscript.ScriptFullName)&"\Test1.docm"
Set oApp = CreateObject("Word.Application")
oApp.Visible = True
oApp.Documents.Open MacroFileName
oApp.Run "MacroName",WshArgs(0)
'//
ちなみに、ExcelもWordも同じ内容のマクロを使っています。
Sub MacroName(arg As String)
arg = LCase(arg)
If arg = "t" Then
MsgBox Time
ElseIf arg = "d" Then
MsgBox Date
Else
MsgBox Date & " " & Time
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Word(ワード) office 2021へ自分用のクイックアクセスとマクロをコピーしたい 2 2023/03/11 21:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/03/28 14:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
一つのTeratermのマクロで複数...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
エクセルに張り付けた写真のフ...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
IF関数を使ってマクロを実行さ...
-
オートフィルターとExcelマクロ...
-
ExcelVBAでPDFを閉じるソース
-
バッチファイルでEXCELを起動し...
-
Excel マクロ VBA プロシー...
-
Excelのセル値に基づいて図形の...
-
マクロ実行時、ユーザーフォー...
-
ExcelのVBAを使ってタイトル行...
-
EXCELマクロでのThisisWor...
-
ダブルクリックで貼り付けた画...
-
非表示の列をすべて削除するマクロ
-
Excel マクロでShearePoint先の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
おすすめ情報