Calcで印刷画面を自動的に保存

お世話になります。お問い合わせいたします。
以下AIにて調べてみました。
その結果、以下に沿って設定したのですが、
【STEP 3】が機能しません。
→「ボタン」をシートに貼り付けできません。
→クリックできますがドラッグ&ペーストできません。
誤りがあればご指摘いただければありがたく存じます。
→AIでは有効な回答を得ることができませんでした。
→Calcのバージョンは、25.2.4.3(x86_64)です。

【AIへの質問】
「LibreOfficeで印刷画面(内容を確認できる改ページ)だけを保存できるか」

【AI回答】
スクリーンショットやPDF出力時に改ページを反映させる方法で、ほぼ同様の結果を得ることは可能です。
【解決策の選択肢】
①LibreOffice Calc で 表示 → 改ページプレビュー を選択
画面上に表示された改ページビューを、Print Screen キーやSnipping Toolなどでキャプチャ画像として保存(PNG, JPEGなど)
②内容が毎回変わる定型帳票を、ワンクリックでPDF出力できるようにするマクロ作成。
→②を希望。

【マクロ内容変更希望】
※日付不要。
※ファイル名→曜日別希望。
→結果、以下のマクロコードとなりました。

【STEP 1】マクロコードをコピーする
→以下testバージョン
→**は仮名

Sub ExportSheetAsPDF()

Dim oDoc As Object
Dim pdfFilePath As String
Dim saveFolder As String
Dim fileName As String

oDoc = ThisComponent

' 保存先フォルダ(必要に応じて変更)
saveFolder = "G:\マイドライブ\**\**\**\"

' ファイル名を固定(ここを「木.pdf」「土.pdf」など必要に応じて変える)
fileName = "test.pdf"

' フルパス作成
pdfFilePath = saveFolder & fileName

' PDF出力設定
Dim exportArgs(1) As New com.sun.star.beans.PropertyValue
exportArgs(0).Name = "FilterName"
exportArgs(0).Value = "calc_pdf_Export"
exportArgs(1).Name = "FileName"
exportArgs(1).Value = pdfFilePath

' PDFとして保存
oDoc.storeToURL(ConvertToURL(pdfFilePath), exportArgs)

MsgBox "PDFを出力しました:" & Chr(10) & pdfFilePath, 64, "完了"

End Sub


【STEP 2】LibreOffice Calc でマクロを貼り付ける
LibreOffice Calc で対象ファイルを開く(例:「水.ods」)
メニューから:
ツール → マクロ → マクロの管理 → LibreOffice Basic
左側で:

  • 「このドキュメント(ファイル名)」を選ぶ
  • Standard → Module1 を選択(または作成)
    右側のコード欄に、Step 1でコピーしたコードをすべて貼り付け
    保存(Ctrl+S) を押して閉じる

【STEP 3】(任意)ボタンを設置する
メニュー:
表示 → ツールバー → フォームコントロール をオン
「ボタン」アイコンを選択し、シート上に配置
→※これが機能しません。
ボタンを右クリック → コントロール → イベント タブ
「マウスボタンを離したとき」→ … → マクロの選択
→ このドキュメント → Standard → Module1 → ExportSheetAsPDF を選ぶ

【STEP 4】テスト実行
シートを編集したあと、ボタンをクリック or
ツール → マクロ → 実行 から ExportSheetAsPDF を選んで実行
→ 指定したフォルダに「シート名_日付.pdf」が作成されていれば成功!

上記につきアドバイスをいただければありがたく存じます。

文字化けおよび翻訳が正しく機能していません。
この投稿は無視してきださい。

参考になりますかですが、以下のように操作を試してみていただけますでしょうか?

フォームコントロールのツールバー上のボタンをクリックして選択状態にします


シート上で、任意の場所で左クリック、そのままドラッグしてボタンサイズの矩形を描きます

以下のようにプッシュボタンが表示されます

1 Like

ヘルプにも簡単な説明がありました

  1. フォームコントロールのツールバーで追加したいアイコンをクリックする
  2. 文書をクリックし、ドラッグしてコントロールを作成する

https://help.libreoffice.org/25.8/ja/text/shared/02/01170000.html?DbPAR=SHARED#bm_id3154142

su_do様
ご連絡いただきありがとうございました。
やれやれ、、、
これは教えていただかないと素人には無理ですね。
ボタン作成できました。
厚く御礼申し上げます。

厚く御礼申し上げます。

前回の返信は、最後の行が削除されており、最後の返信はまったく違う内容になっています。
これ何とかならんもんでしょうか?
深く感謝いたします。

エノキ様
アドバイスいただきありがとうございました。
ぜひ、参考にさせていただきます。
文字化け、行の削除、誤った翻訳になりませんよう祈りつつ。

1 Like