![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
htmlまたはJavascriptからファイルを引数つきで起動する。
マクロ(macro.xls)に引数(csvファイル名)を渡して起動させたいため、
vbsを作成してマクロを引数つきで実行するようにしました。
コマンドからは
>test.vbs /FILE:macro.xls /P:aaa.csv
でマクロを実行することができたのですが、
HTMLにリンクを張り、リンクをクリックすることで
vbsを引数つきで実行するにはどうすればよいでしょうか?
(Javascriptを経由しても構いません)
No.1ベストアンサー
- 回答日時:
当然、Windows IE限定のお話ですよね。
どおしてもHTMLでやりたいなら、test.vbsなんて余計な物を作らずに、
直接javascript(MsのJscript)のActiveXオブジェクトを使って、
直接ExcelApplicationオブジェクトを作って、Excelオブジェクト
のクラスメソッドを使って、ファイルの読み込み、マクロの実行を
すればよいんじゃないかと、Excelオブジェクトをシームレスで動かせば、
Excelを見せなくして、マクロ実行だけこっそりさせる事も出来ます。
※だから、セキュリティ制限が厳しいのです。IEで、信頼済みサイトに登録する
必要があります。
例
<body>
----------
<p>
<a name="button_no_kawari" onclick="Excel_open('xxx.xls');return false;">
エクセルを実行</a>
</p>
----------
<script type="text/javascript">
<!--
function Excel_open(pgm_name){
var pgm_path = "c:/プログラム/";
var file_name = pgm_path + pgm_name;
var Excel = new ActiveXObject("Excel.Application");
Excel.Visible = true;
Excel.Workbooks.Open(file_name,0,"true");
Excel.Workbooks(pgm_name).Sheets("Menu").Activate;
//他にもいろいろExcelを操作出来る
Excel.Application.Run("main"); //<=マクロ"main"実行
Excel = "";
}
// -->
</script>
</body>
javascriptからの「ActiveXObject」の処理は初耳でした。
vbsからの実行はやめて、
この方式で考えてみようと思います。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
html上で、バッチやexeファイルの起動をしたい
ホームページ作成・プログラミング
-
JavaScriptからVBScriptの呼び出しについて
JavaScript
-
JavaScriptからVBAの関数を呼び出し
Visual Basic(VBA)
-
-
4
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
5
JavascriptでのExcel起動について
JavaScript
-
6
ブラウザからエクセルを開く方法
JavaScript
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
HTMLテキストリンクでExcelファイルを開く方法
HTML・CSS
-
9
HTMLからフォルダを開きたい
HTML・CSS
-
10
Webページ中の javascript をVBAから実行するには
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
cellsで特定の離れた範囲を選択...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
VBAをVBに変換する方法
-
エクセルシートをまとめて印刷...
-
Excelのラジオボタンにチェック...
-
エクセルVBAで、画像の倍率を知...
-
エクセル2007 テキストボ...
-
エクセルワークシート上に印刷...
-
ExcelのVBAでWordの書式を変更...
-
Powerpointでランダムな数字の...
-
ワードで段落→編みかけの設定→...
-
ピボットグラフの書式の固定に...
-
VBAを使ってエクセルシート...
-
エクセルのストップウォッチ
-
VBAに詳しい方教えてください。
-
VBA ChartWizardで円グラフが書...
-
VBAでグラフXj軸の文字列を左90...
-
最初の1回のみにボタンクリッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
cellsで特定の離れた範囲を選択...
-
Powerpointでランダムな数字の...
-
VBAに詳しい方教えてください。
-
VBA[Private Sub]のコードをシ...
-
VBAを使ってエクセルシート...
-
【ExcelVBA】クエリの更新とピ...
-
別ブックからユーザーフォーム...
-
ピボットグラフの書式の固定に...
-
Pictures.Insertメソッド⇒Shape...
-
エクセルシートをまとめて印刷...
-
どのドキュメントは暗号化され...
-
最初の1回のみにボタンクリッ...
-
エクセルワークシート上に印刷...
-
エクセル2007 テキストボ...
-
エクセルのマクロでSelection.S...
-
エクセルVBAで、画像の倍率を知...
-
VBAで棒グラフの色を変えたい
おすすめ情報