none
ExportAsFixedFormat エラー(Excelシートをpdf形式保存の失敗)について RRS feed

  • 質問

  • mihasato25と申します。よろしくお願いします。

    VB.NETでDBからデータを抽出し、新規にopenしたExcelの任意のセルへ出力。

    その後、PDFに変換し保存する機能を作成しました。

    PDF保存は ExportAsFixedFormat メソッドを使用していますが、openしたExcelをsaveしないとエラーとなります。

    作成・実行環境およびコードは以下のとおりです。

    Windows10、Office 2016、Visual Studio 2015

    参照設定 .NET Framework 4.5.2、Microsoft Excel 16.0 Object Library、Microsoft Office 16.0 Object Library、

    Microsoft Visual Basic for Applications Extensibility 5.3 

            Dim xlApp As New Excel.Application
            Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
            Dim xlBook As Excel.Workbook = xlBooks.Add
            Dim xlSheets As Excel.Sheets = xlBook.Worksheets
            Dim xlSheet As Excel.Worksheet = xlSheets.Item(1)
    
            Try
              xlSheet.Name = "テスト"
    
                '任意のセルへ抽出データを出力実行
    
                ' PDF化
                'ここでExcelを一旦保存しないとpdf保存でエラーとなる。
                xlSheet.SaveAs("N:\work\AAA.xlsx")
    
                xlSheet.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, "N:\work\AAA.pdf", Excel.XlFixedFormatQuality.xlQualityStandard)
    
            Catch ex As Exception
                Throw
            Finally
                ' 以下、Excel終了処理を実行
            End Try

    因みに既作成のExcelファイルをopenした場合、事前のsave無しでpdf変換保存は問題なく出来ました。

    事前にExcelをsaveすれば問題ないのですが、明確な理由が調べた限り見つからなかった為、

    こちらに質問させていただきます。

    よろしくお願いいたします。

    2017年7月5日 8:44