【C#】エクセルをPDFに変換する(Office使用)

Sponsored Links

Officeがインストールされている環境が必須だが、エクセルをPDFに保存するのは、数行でできてしまう。

//ReferenceにMicrosoft.Office.Interop.Excelを追加し、ページ上部Usingに下記を追加
using Excel = Microsoft.Office.Interop.Excel;

//エクセルを開き、Save as PDFを行うような流れ
Excel.Application xl = new Excel.Application();
Excel.Workbook wb = xl.Workbooks.Open($@"【変換するエクセルファイルの絶対パス】");
                    wb.ActiveSheet.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, $@"【保存するPDFファイルの絶対パス】");
wb.Close();
xl.Quit();

ここからが、詰まった点。
定期的に、タスクスケジューラでこのソースをコンパイルしたEXEを実行すると、「Exception from HRESULT: 0x800A03EC」のエラーが出力される。
要は、タスクスケジューラのユーザでは、エクセルは使えないらしい・・・???

  1. スタートメニューから “Start” -> “Run”で”dcomcnfg”を実行
  2. “Console Root” -> “Computers” -> “DCOM Config”
  3. リストから”Microsoft Excel Application”を見つける
  4. 右クリックし、”Properties”をクリック
  5. “Identity” タブを開く
  6. “The interactive user.”を選択
2番:
6番:

IT
Sponsored Links
Sponsored Links
Sponsored Links
ようさんチョットでぶ
Copied title and URL
Bitnami