2017-12-27 45 views
0

私は、データテーブルからEPPlusを使用してExcelファイルを作成し、それをファイルに保存しています。これは何の面倒なく動作します。ただし、vbaプロジェクトを作成してvbaコードを追加すると、結果として生成される.xlsxファイルが突然破損します。 2013年に開こうとすると、標準エラーが発生します。EPPlus VBAコードの追加結果xlsxファイルの破損

ファイル形式やファイル 拡張子が有効ではないため、「Excelがファイル 『xyz.xlsx』を開くことができません。ファイルの拡張子は、ファイルの 形式と一致することを確認しますが。

もし私が拡張子を.xlsに変更すると、ファイルが正常に開き、スクリプトがうまく動作します。私はEpplus(4.5.0.1)の最新ベータ版です。ファイル拡張子を変更して.xlsに固執するか、不一致?

ExcelPackage.Workbook.CreateVBAProject() 
ExcelPackage.Workbook.CodeModule.Code = "'Script is here" 
Dim FInfo as new FileInfo("C:\Myfiles\ThisFile.xlsx") 
ExcelPackage.SaveAs(FInfo) 

答えて

1

VLSコードをXLSXファイル形式に追加することはできません。

エクセル2007から2013のデフォルトのXMLベースのファイル形式: here

の.xlsxを見てみましょう。 Microsoft Visual Basic for Applications(VBA)マクロコードまたはMicrosoft Office Excel 4.0マクロシート(.xlm)を格納できません。

また、異なるフォーマットの違いを見るためにhere を見てみましょう:あなたはXLSXファイルにVBAマクロが含まれている場合

XLSMを、あなたはXLSMにファイルの拡張子を変更 に求められます。のみ、そのように、あなたは(そこに他のファイルタイプは、可能であり、例えば XLSB - しかし、あなたは、VBAマクロのためにXLSXを使用することはできません)Excelファイル内のあなたの マクロを保存することができます

XLSMとしてファイルを保存し、それが必要作業。

+1

確認済みです。 .xlsmに切り替えて問題を解決しました。 –

関連する問題