最近の投稿

スポンサーリンク

RPA

【Blue Prism】RPAでExcelのシートを印刷したい? MS Excel VBOをExtendしようか。PDF保存もできるZE

はじめに

業務の中で処理の最後にExcelを印刷してエビデンスとするようなものは結構あります。

ペーパーレス化の波に乗れていないようですが、今は我慢して自動化……

はやくペーパーレス化の提案をしたいところ……

ということで、今回はBlue Prismで印刷をする処理を実装。

あわせて、「PDF化もできますよ。エビデンスとして保管するだけであれば、PDF保管でもいいのでは」という交渉のためのPDF化処理もおまけしておきましょう。

MS Excel VBOに印刷処理はあるか

無駄な開発をしないためにまずは、VBOを調べます。

ふむふむ

ふむふむ

まあ印刷なんてね、RPAではなく各業務で必要であればやってくれというレベルだしね。

そうだよね。

Blue PrismでExcelのシートを印刷する

VB.NETで印刷する処理と言えば、シートオブジェクトのPrintOutです。

では、Blue PrismのMS Excel VBOで似たような処理をしてそうなものを考えると「Activate Worksheet」が近い処理をしています。

「Activate Worksheet」では単純にシートをアクティブにしているだけです。

その処理をちょっと借用しつつExtendしましょう。


' If sheetexists then ws.Activate()
' アクティベートしている個所を、プリントアウトに変更する

If sheetexists then ws.PrintOut()

 

これで印刷できます。

今回は対象となるシートのみの印刷でしたが、ブック全体の印刷もできそうですな。

Blue PrismでExcelのシートをPDFにして保存する

では次に発展的に、もう紙なんてだしたくないよぉと提案するための施策。

PDF化についても考えてみました。

PDFにして保存するので、もう紙だしファイリングいらないよ、とアピールしまっせ。

PDF化はワークシートオブジェクトのExportAsFixedFormatを使います。

パラメータの意味については上記リンク先を確認してもらえれば一目瞭然。

なんせMS謹製のページ。


' If sheetexists then ws.Activate() 
' アクティベートしている個所を、PDF化に変更する
' オブジェクトへの引数にファイルパスの追加も忘れずに。

If sheetexists then ws.ExportAsFixedFormat(Type:=0, _ 
      Filename:=output_pdffilename, _
      Quality:=0, _
      IncludeDocProperties:=True, _
      IgnorePrintAreas:=True, _
      From:=Type.Missing, _
      To:=Type.Missing, _
      OpenAfterPublish:=False)

output_pdffilenameに格納されている保存先にPDFが保存されます。

最近の投稿

スポンサーリンク

-RPA
-,

© 2024 ONE HUMAN UNIT Powered by AFFINGER5