定義済みのモジュールをアクティブなワークブックに自動的に追加する Excel アドインを作成しようとしています。
「定義済みモジュール」は、次の 2 つの要件を満たす必要があります。
- これらのモジュールは、Excel VBA エディターから .bas 形式でエクスポートされます。
- これらの .bas ファイルは、ユーザーには表示されません。
MSDN を検索した後、同様のことを行うこのトリックを見つけました。
void load_module(EXCEL.Workbook oBook){
VBIDE.VBComponent oModule;
oModule = oBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule);
oModule.Name = "module_name";
sCode = "vba script content";
oModule.CodeModule.AddFromString(sCode);
//oModule.CodeModule.AddFromFile(file_name);
}
「AddFromFile」メソッドは機能しますが、ファイルに vba コードのみが含まれ、ファイルがディスク上にある必要がある場合のみです。
問題は次のとおりです。
Excel vba エディターによって生成された .bas ファイルには、最初の数行にいくつかの「META」データが含まれています。以前の方法では、これらの「META」データは解析されず、すべてのコードが新しいモジュールに出力されますが、これは予期されていません。
以前の方法を使用すると、.bas ファイルがユーザーに表示されます。しかし、それらを目に見えないようにする必要があります。
それで、この混乱を解決するアイデアはありますか?: )