Excel VBAで記述されたVBAコードを、ある種のプロシージャ/プログラム、またはExcelを開かずに直接実行できるdos関連のファイルパスにどのように割り当てるのでしょうか。つまり、割り当てられたvbaコードをかき立てることができるデスクトップアイコンが必要です。
5 に答える
簡単にできます。
次のコンテンツを VBS ファイル (例: example.vbs) に追加します。これは、メモ帳を使用して書き込むことができるテキスト ファイルのみです。
'Code should be placed in a .vbs file
Set objExcel = CreateObject("Excel.Application")
objExcel.Application.Run "'C:\path\to\my\excel\file\myExcelMacroFile.xlsm'!MyModule.MyFunctionName"
objExcel.DisplayAlerts = False
objExcel.Application.Quit
Set objExcel = Nothing
次に、VBS ファイルをダブルクリックして実行します。
ソース: http://wellsr.com/vba/2015/excel/run-macro-without-opening-excel-using-vbscript/
Excel マクロの VBA が Excel オブジェクトを参照しない場合は、コードをテキスト ファイルにコピーして、拡張子を .VBS に変更するだけです。ただし、タイプを使用する場合、VB スクリプトはそれを好まないため、Dim ステートメントから「AS something」を削除するだけです。
これは、メモ帳を使用していない Intellisense の利点を得るために頻繁に行います。
私の推測が正しければ、タグを Excel ではなく VB Scripting に変更して、適切なヘルプを取得することをお勧めします。
私がその権利を理解している場合は、VBS コードをテキスト ファイルに記述し、その名前を .vbs に変更するだけです (Windows でファイルの末尾が表示されることを確認してください)。ダブルクリックすると、Windows Scripting Host によってファイルが実行されます。VBS には VBA の一部の機能がありませんが、CreateObject/GetObject を使用して多くのことができます。
学習曲線は少し急かもしれませんが、AutoHotKeyの使用を検討することができます。これにより、独自のスクリプトを作成し、必要に応じてそれらを(かなり大きな).exeファイルに変換できます。AutoHotKeyは無料です!
Excelを開くcmdまたはps1を記述し、そのExcelのスタートアップでマクロを実行します...そして終了したら閉じます。
これは解決策になる可能性がありますが、適切に計画された環境では不要なことを行っている可能性があります。