2017-07-17 14 views
0

私はデータをエクスポートする必要のあるアプリケーションを開発中です。このデータをJSON、DBにエクスポートした後、Excelで証明書を作成します。Excelで印刷するものが見つかりません

excelへのエクスポートとExcelファイルの作成は完全に機能しますが、Excelを印刷することはできません。私は私のアプリケーション(VB.NET)とVBA(私のアプリに問題があるかどうかをチェックする)から試しましたが、どちらも失敗します。 Excelでファイルを開くと、PrintRangeが設定されているにもかかわらず、印刷できず、プレビューが表示されません。

私はいつも

を「Excelは印刷するSTHを見つけることができなかった」取得私は、ブック、シートや範囲を印刷しようとしましたが、いつも同じ。私もworksheet.PageSetup.PrintAreaと同じ設定しようとしました。試してもExportAsFixedFormatはうまくいきません。また、インストールされているすべてのプリンタをデフォルトとして設定しようとしましたが、すべてのプリンタで失敗します。

これはこのファイルでのみ発生し、他のファイルは問題なく印刷されます。

ファイルを開くと - 印刷に進む - 印刷範囲は設定されていますが、プレビューの代わりに「印刷するものはありません」を参照してください。

ここで、セルをクリックすると、sthと書いてください。それを削除したり、やりとりをしたりすると、プレビューを見てファイルを印刷することができます。

作業ファイルを保存して、単純なアプリケーションでファイルを開いて印刷しようとすると、悪いメッセージが表示されます。 Excelでファイルを再度開くと、プレビューが再表示されず、印刷できるようにファイルとやりとりする必要があります。

私はできることをすべて試してみましたが、狂ったようにも検索しましたが、何かが働いていました。

誰かが同じ問題を抱えていて助けてくれることを願っています。これは私の人生で初めてのことであり、間違っていることや私のExcelファイルに間違っていることを知っていますこのメッセージを見たことがあります。

輸出コードは少し長いですので、私はそれをここに投稿していないが、それはこのようなSTHです:私はこのシートにグラフを持っている

Public Shared Function ExportCalibrationAsync(pressureCalibration As PressureCalibration, filePath As String, fileName As String, excelTemplate As Byte()) As Task 'TODO:Refactor...Not use 2.dots 
     Return Task.Run(Sub() 
          CheckFileName(fileName) 
          Dim fullPath = Path.Combine(filePath, fileName) 
          Dim tempFileName = Path.GetTempFileName() 
          Dim tempFullPath = Path.Combine(filePath, tempFileName) 
          Dim excel = New Excel.Application() 
          Dim row = 1 
          'Write the passed excel template to a tempFile 
          My.Computer.FileSystem.WriteAllBytes(tempFullPath, excelTemplate, False) 
          Dim excelWorkbooks = excel.Workbooks 
          'Add template workbook to actual workbook 
          Dim excelWorkbook As Excel.Workbook = excelWorkbooks.Open(tempFullPath) 

          '//////////// 
          '////Code to Export data to excel 
          '//////////// 

          '//ExportAsFixedFormat or Print doesn't work and 
          '//MsgBox pops up with "Excel could not find anything to print" 
          excelWorkSheet.PageSetup.PrintArea="$A$1:$G$40" 
          excelWorkSheet.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF,filePath,XlFixedFormatQuality.xlQualityStandard) 
          excelWorkbook.SaveAs(fullPath) 
          excelWorkbook.Close() 
          excel.Application.Quit() 
          excel.Quit() 
          File.Delete(tempFullPath) 
          GC.Collect() 
          GC.WaitForPendingFinalizers() 
          GC.Collect() 
          GC.WaitForPendingFinalizers() 
          Marshal.ReleaseComObject(calibrationChartObject) 

が、私は、チャートとは思いません私は同じコードを使ってチャートで他のファイルを印刷できるので、問題です。

答えて

0

私は最終的に(2週間後)解決策を見つけましたが、少なくともそれは私のために働きます。

pagelayoutビューを使用してファイルをアクティブにしたときは、いつも保存しました。写真の中央のもの。 Preview

今日、私はもう一度テストしましたが、通常のレイアウトを有効にして保存することにしました。

これは確かに修正されています...ファイルでpagelayoutを有効にすると、保存してエクスポートしようとしました....「Excelで印刷するものが見つかりませんでした」。

このエラーは本当に奇妙です(私にとっては少なくとも)。誰かがそれが理由を持っているかどうかを知っているなら、私に言いなさい...私はおそらく小さなバグだと思う。

0

私は同じ問題があります。ビューは既に標準レイアウトになっています。 - アクティブなシート - 印刷ページ

は、プリントアウトすることを意図シートを選択し、それが印刷オプションで「アクティブシート」です確実 :

私は、問題が印刷設定によるものであるが分かりました。 ページをシートとして扱いません。ページは出力です。

のみ1ページ現在のシートからのプリントアウトであれば、スケーリングが「1ページにフィットシート」に設定されている場合は特に、そこに出力していない以上1以下のページも、以降2からページを印刷しようとします必ずこのエラーが発生します。

0

初めてこのエラーが発生しました。ワークブック内のワークシートの1つを4ページのうちの4ページだけを印刷するように変更し、4ページを持たない他のワークシートにも同じ設定が適用されていることがわかりました。ページ番号をクリアすると(4/4)、問題は解決しました。

関連する問題