excel-dnaプロジェクトを知っているかどうかわかりません.Netアセンブリと言語をExcelアドインに統合するプロジェクトです。Excel-DNAで作成したExcel .XLLファイルの内容を展開する
私の問題は、xllファイルからdllを解凍したいということです(excel-dnaはxll内のリソースをパックすることができます)。
私は、Excel-DNA源をdonwloaded、すでにソースコード上で、このベースを書く:
string xlllib = @"C:\pathtomyxllfile\myaddin.xll";
string xlloutput = @"C:\pathtomyxllfile\myaddin.dll";
var hModule = ResourceHelper.LoadLibrary(xlllib);
var content = ResourceHelper.LoadResourceBytes(hModule, "ASSEMBLY_LZMA", "MYASSEMBLYNAME");
using (BinaryWriter binWriter = new BinaryWriter(File.Open(xlloutput, FileMode.Create)))
{
binWriter.Write(content);
}
が、それは動作しません。 誰かがxllからdllを解凍する考えですか?
事前のおかげでは、
を詰めたExcelDnaアドインの内容を抽出するためのコマンドラインユーティリティです。何がうまくいかない?コンテンツバイト配列は空ですか? hModuleはゼロですか?例外はありますか? – Hans
はい、私はhModuleポインタを取得できないという問題があります。 Kernel32のLoadLibraryはゼロを返します。私はGetModuleHandleを試しましたが、それは同じです。 – Dragouf
Excelのdnaソースプロジェクトでは、AssemblyManager.cs(http://exceldna.codeplex.com/SourceControl/changeset/view/67101#209445)にLoadResourceBytesがあります。 XLLファイル内のDLLはExcelDnaPAckプロジェクトでパックされていました。 – Dragouf