電子書籍の厳選無料作品が豊富!

いつもお世話になります
下記のようにExcelのマクロをエクスポートする方法の解説はあるのですが
逆にインポートする解説が見つかりません

***見つけたエクスポートの解説記事***
ソースコードをエクスポートする (Excel限定) †
Excelのマクロを外部に吸い出して保存するバッチ †

WSH/JScriptで,VBAのソースコードだけを抜き取る - 主に言語とシステム開発に関して
http://d.hatena.ne.jp/language_and_engineering/2 …
•概要 ◦WSH/JScript
*******

今、下記のように開いた新規ブックに、すでにエクスポートされているマクロ(Module1)を
インポートしたいのですが。
まだ、JScriptを始めたばかりでなかなか上手く行きません、ご教授を願えれば幸いです。

// 新規ブックを開く
var book2 = ExcelApp.Workbooks.Add();
var BBB = ExcelApp.ActiveWorkbook.Name;
// WScript.Echo(BBB);
// ExcelApp.Visible = true;
var xlNormal = -4143;
ExcelApp.ActiveWindow.WindowState = xlNormal;
ExcelApp.ActiveWindow.Width = 305;
ExcelApp.ActiveWindow.Height = 400;

以上、よろしくお願い申し上げます

A 回答 (1件)

こんにちは。



前回と同じく、細かい部分は抜いてしまいました。
Export と Import をするという代物です。
VBScript で最初に作って、見通しを立ててから、JScript に書き換えました。

wb2.saveas("Test1B",52)
なお、ここは、マクロブックで保存するという命令です。
まだ、コードには雑な部分が多いので、その部分は気をつけないといけませんが、当面は、この程度でお許しください。


// Excel VBProject Export and Import
//Export
var filename ="Test1A.xlsm";
var mypath ="C:\\Test\\Excel\\";
var xlapp =new ActiveXObject( "Excel.Application" );
xlapp.visible=true;
var wb = xlapp.workbooks.open(mypath + filename);
wb.vbproject.vbcomponents("Module1").Export(mypath+"Module1.bas");
wb.close(false);
//Import
var wb2 =xlapp.workbooks.add();
wb2.vbproject.vbcomponents.Import(mypath+"Module1.bas");
wb2.saveas("Test1B",52)
wb2.close(false);
xlapp.Quit();
    • good
    • 0
この回答へのお礼

ありがとうございます
夏休みで出かけていてお礼が遅くなったことをお許しください
何から何まで本当にありがとうございます
これからの開発の仕事の糧にさせていただきます

お礼日時:2016/08/23 09:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!