こんにちは
エクセルで作成したマクロをバッチファイルできどうして実行しております。
ファイルAとBをつかってバッチファイルとして起動しておりましたが、
起動時DOS窓が出ないようにするため、ファイルCをつかってます。
現状 3ファイルをつかってます。
これをひとまとめにすることはできないのでしょうか?
宜しくお願いいたします。
ファイルA test.vbs
---------------
Dim obj
Set obj=WScript.CreateObject("Excel.Application")
obj.Visible=False
obj.Workbooks.Open WScript.Arguments(0)
obj.Application.Run WScript.Arguments(1)
obj.quit
-------------
ファイルB a.bat
中身
C:\Users\test\Desktop\test\test.vbs "C:\xxx.xlsm" ○○○
vbsファイル xlsmファイル ○○○はマクロ名
------------------
ファイルc ouga.vbs
Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "C:\a.bat",0
Set oShell = Nothing
------------------
No.1
- 回答日時:
以下のコードでも、Excelの常駐が残るようでもありませんね。
しかし、
obj.Visible=False
となると、どう変わるかわかりません。自動で閉じるようにしているのでしょうか。
':xlStart.VBS
Dim xlApp
Dim xlBook
Const FullFileName ="C:\TestBook1.xlsm"
Const MacroName ="TestMacro1"
Set xlApp = CreateObject("Excel.Application")
With xlApp
.Visible =True
Set xlBook=.Workbooks.Open(FullFileName)
.Run xlBook.Name &"!"& MacroName
End With
ご回答ありがとうございます。
やりたいことができあました。 ありがとうございました。
2点質問させてください。
Set WSH = CreateObject("WScript.Shell")
pathis = WSH.SpecialFolders("Desktop") & "\"
のようなことをCONST fullfilenameのところに記載するとエラーとなります。
いまは、(FULLFILENAME)のところにかいております。
!とは何をいみしているのでしょうか?
Visible=falseにしている理由は実行時、タスクスケジューラから透過的に実行するためです。
以上 よろしくおねがいいたします。
No.2
- 回答日時:
test.vbsの
obj.Workbooks.Open WScript.Arguments(0)
obj.Application.Run WScript.Arguments(1)
を
obj.Workbooks.Open "C:\xxx.xlsm"
obj.Application.Run "○○○"
に変えてはいかがでしょうか。
そうすれば、test.vbsの実行だけですみます。
No.3ベストアンサー
- 回答日時:
こんにちは。
>Set WSH = CreateObject("WScript.Shell")
>pathis = WSH.SpecialFolders("Desktop") & "\"
昔は、それで良かったようですが、こちらで実行してみると、そのWSH の行の部分でエラーが発生しています。何か仕様が変わったのかもしれません。
//
エラー内容:(Microsoft VBScript 実行時エラー)
引数の数が一致していません。または不正なプロパテイを指定しています。:'WSH'
//
そこで、PathIs= CreateObject("WScript.Shell").SpecialFolders("Desktop")& "\"
とすると、問題なく通りました。実際の内容は、最後で御覧ください。
>!とは何をいみしているのでしょうか?
Excelの中での決まりごとです。いつくか試してみたことがあるのですが、他にはなかったようです。
それと、
.Run xlBook.Name &"!"& MacroName
xlBook.Name & ! はつけなくても稼働しました。
':xlStart.VBS
Dim xlApp
Dim xlBook
Dim FullFileName
Dim PathIs
PathIs= CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
Const BookName ="TestBook1.xlsm"
Const MacroName ="TestMacro1"
FullFileName =PathIs & BookName
Set xlApp = CreateObject("Excel.Application")
With xlApp
.Visible =False
Set xlBook=.Workbooks.Open(FullFileName)
.Run xlBook.Name &"!"& MacroName
End With
No.4
- 回答日時:
#3の不手際ですみません。
追伸、Visible=False だから、手動では終わらないので、End With の後、以下のようなコードが必要だと思います。TaskManager 等で、調べてみてください。
xlBook.Close False
'Close で保存はしないというオプションです。
Set xlBook = Nothing
xlApp.Quit
Set xlApp =Nothing
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) セルの値からファイルを複数作りたい 2 2022/10/06 12:42
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
VC++から引数付きexeファイルの...
-
コマンドプロンプトにてスター...
-
xismoについてです!開こうとす...
-
batからexeを起動した際の戻り...
-
VC++での外部プログラムの実行
-
LINK : fatal error LNK1104に...
-
64bit環境で32bitのodbc参照
-
OLE又はDDEを使うVISUAL BESIC...
-
エクセルVBAよりBATファイルを...
-
java ファイル出力 Cドライブ直下
-
プログラム初心者です。
-
パラメータが正しくありません...
-
JAVA Jarファイルについて
-
VB6.0で作ったプロジェクトが起...
-
JAVAの処理実行を待機し、ある...
-
jarの開き方を教えてください。
-
VBAでMP3を鳴らしたい
-
ファイルアイコンの左下に緑の□...
-
windowsでキー入力を拾うバッチ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
OLE又はDDEを使うVISUAL BESIC...
-
xismoについてです!開こうとす...
-
VC++から引数付きexeファイルの...
-
JavaScriptでコマンドプ...
-
LINK : fatal error LNK1104に...
-
VBAでEXEファイルを動かす方法...
-
c/c++ ビルドしたにもかかわら...
-
WScript.Echo と msgbox
-
64bit環境で32bitのodbc参照
-
VBAでMP3を鳴らしたい
-
コマンドプロンプトで外のexeや...
-
batからexeを実行し戻り値を受...
-
ファイルアイコンの左下に緑の□...
-
コンパイル ./aと./a.out の違い
-
htaファイルが実行されません
-
jarファイルとjava.exeの関連付...
-
JAVA .jarファイルに再圧縮する...
-
VB6.0で作ったプロジェクトが起...
-
以下のように複数のファイルを...
おすすめ情報