Excelのフッターを取得する方法

Excelのフッタを取得する方法はありますでしょうか。

(試したこと)
①「Excel application scope」でWorkbookを取得。
②WorkbookからCurrentsheetを取得。
→Currentsheetからフッタを取得できると思ったのですが、「Microsoft.Office.Interop.Excel.Worksheet」の型にはPageSetupプロパティが存在せずフッタが取得できませんでした。

UiPath Studio 2018.2.3で実装できるとありがたいです。

アイディアレベルですみませんが、

・[Invoke vba] アクティビティを使ってVBAをコール、VBAでフッタテキストを返す小さいVBAマクロを作るってのはどうでしょうか?
・Excelアプリケーションを操作してページセットアップダイアログを表示して取得ってのはどうでしょうか?

どちらも2018.2.3で実装可能だと思います。

2 Likes

ご回答ありがとうございました。
仰る通りVBAを作ってしまった方が早そうですね。
検討してみます。ありがとうございました!

こんにちは

EXCEL Activity Packageに付帯するNPOIあたりを使うのもありかと思います。

NPOIを使う例

workbook = NPOI.SS.UserModel.WorkbookFactory.Create(“test.xlsx”)
sheet = workbook.GetSheet(“Sheet1”)
strFooter = sheet.Footer.center

フォント情報なども出力されるようです。

3 Likes

ご回答ありがとうございました。
2019.4.2ではNPOIが使えることを確認しましたが、2018.2.3ではNPOIが参照できないようでした。
(ImportsでNPOIと入力しても出てきませんでした…。.NETのバージョンにも影響するでしょうか。2018.2.3の.NETのバージョンは4.0.30319.42000です)

今後使う機会もあると思うので、NPOIのことは覚えておこうと思います。
大変勉強になりました。情報ありがとうございました。

1 Like

こんにちは

あいにく2018.2の環境が手元にないので確認ができないのですがClosedXMLを使う手もあります。

workbook = new ClosedXml.Excel.XLWorkbook("test.xlsx")
worksheet = workbook.Worksheet("Sheet1")
strFooter = worksheet.PageSetup.Footer.Center.GetText(ClosedXml.Excel.XLHFOccurrence.OddPages)

NPOI同様参照できない可能性大ですが...

2 Likes

度々のご回答恐れ入ります。

ClosedXMLも参照できませんでした…。
Studioのバージョンアップも検討してみようと思います。
参考になる情報を教えてくださり、本当にありがとうございました。
とても勉強になります!

色々検証した結果、2019.4バージョンで上記実装をして、2018.2.3で動作しました。
大変お世話おかけしました。
Yoichiさんの最初のご回答で実装しようと思います。

3 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.