LoginSignup
5
0

More than 3 years have passed since last update.

【UiPath】Excel - 印刷の向きを変更する

Last updated at Posted at 2021-04-06

はじめに

この投稿は、RPAツールのUiPathで、Excelの印刷の向き(縦横)を変更する方法についての投稿です。

「Excel操作を.NETのコードでやってみよう」シリーズです。他の投稿はこちら。

印刷の向き(縦横)とは

「ファイル」メニューの「印刷」で指定するプリントアウト時の用紙の方向です。
ブックを新規作成した時の初期状態は「縦」なので、UiPathで横印刷をしたい場合に操作が面倒です。

hogegep.png

2021年4月現在では、UiPath標準では「印刷向きの変更」はできませんが、

  • 「コードを呼び出し(InvokeCode)」アクティビティで実行
  • 「VBA を呼び出し (Invoke VBA)」アクティビティで実行

のいずれかで実現できます。

.NETで、印刷の向き(縦横)を変更

以下はVB.NETのコードです。実行すると「印刷の向き(縦横)」が変更されます。
UiPathの「コードを呼び出し(InvokeCode)」アクティビティに指定して実行できます。

'// 対象エクセルファイルの情報
Dim filePath As String = "C:\temp\Book1.xlsx"
Dim sheetName As String = "sheet1"

'// 処理開始
Dim ap As New Microsoft.Office.Interop.Excel.Application
Dim wb As Microsoft.Office.Interop.Excel.Workbook = ap.Workbooks.Open(filePath)
Try
    '// シートループ
    For Each ws As Microsoft.Office.Interop.Excel.Worksheet In wb.Sheets
        If ws.Name.ToUpper() = sheetName.ToUpper() Then
            '// 向きを変更
            ws.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape '// 横向き
            'ws.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlPortrait '// 縦向き
        End If
    Next
    '// 保存・終了
    wb.Save
    wb.Close
Catch ex As Exception
    Console.writeLine(ex.ToString)
    Throw(ex)
Finally
    If Not(wb Is Nothing) Then wb = Nothing
    ap = Nothing
End Try

実行すると以下のように、印刷の向きが横方向になりました。
temadasdspsnip.png

「向きを変更」している箇所のコードを変えれば、印刷設定の他の項目も編集可能です。
例えば、以下のように設定できるはず。です。

    ws.PageSetup.PrintArea = "A:D"  '// 印刷範囲の設定
    ws.PageSetup.Zoom = False       '// 倍率をクリア
    ws.PageSetup.FitToPagesWide = 1 '// 横方向に1ページに収める
    ws.PageSetup.FitToPagesTall = 1 '// 縦方向に1ページに収める
    ws.PageSetup.CenterHorizontally = True  '// 水平方向に中央配置
    ws.PageSetup.PrintTitleRows = "$1:$2" '// 行タイトルを1~2行目に指定
    ws.PageSetup.PrintTitleColumns = "$A:$A" '// 列タイトルをA列に指定

指定できる項目はこちら(英語)

呼び出し可能なxamlファイルにしたものを用意しました。以下からダウンロードできます。

終わりに

UiPathで「Excelの印刷設定を変更したい」場合に、役に立てば幸いです。

この記事が参考になったら、 LGTMをお願いします。
閲覧ありがとうございました。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0