つれづれ電脳記(日くらしPCに向かひて)

つれづれなるままに、日くらしPCに向かひて、その悪戦苦闘ぶりをそこはかとなく書き付くるおじさん。たまに雑談[管理人:goosyun]

つれづれなるままに、日くらしPCに向かひて、デジタル関係の悪戦苦闘ぶりをそこはかとなく書き付くるおじさんです。
たまに雑談してます。連絡・問い合わせフォームは、ページ最下部に置いています。[著者(運営人):goosyun]

(当ブログには本文中に広告リンクが含まれています。)

LibreOffice Calcダイアログの新規作成と開く操作

 

1 LibreOfficeへの移行

 無料のOfficeソフト LibreOfficeリブレオフィス)でも、Microsoft製品のユーザフォームに相当する機能を使えることが分かり、明るい希望が見えてきました。LibreOffice では、フォームに相当する機能は、ダイアログという名前になっています。
 限定的とはいえLibreOfficeでもVBAマクロが動くし、フォームと同等の機能があるとなれば、いよいよMicrosof Office とはおさらばです。Microsoft365 は、個人にとってはあまりにも高額過ぎます。
 LibreOfficeのダイアログというものが一体どういうものか、そして、それが使えるものなのかを確認するために、ダイアログの新規作成と、作成したダイアログを開く作業を、自分自身で試してみました。

LibreOffice への移行

2 ダイアログの作成

 次の手順で、Dialog1という名前のダイアログを新規作成しました。
 1. LibreOffice Calc を起動
 2. メニュー[ツール]-[マクロ]-[ダイアログを管理]
 3. Basicマクロの管理画面の「ダイアログ」タブを選択
 4. 対象ファイル(未保存の場合は「無題1」)の[Standard]を選択
 5. [新規作成]ボタンをクリック
 6. 「新しいダイアログ」画面で名前(Dialog1)を確認しOKをクリック
 7. [編集]ボタンをクリックして、ボタン等を配置して保存

3 ダイアログを開く操作

 作成したダイアログを開くには、そのためのマクロを作成して、実行することになります。
 マクロ作成には、LibreOffice Basic というプログラミング言語を使います(VBAは不可)。
 LibreOffice Basic の知識はないため、紹介されているコードをそのまま利用させてもらいました。

Sub ShowMyDialog
  Dim oDlg As Object
     DialogLibraries.LoadLibrary("Standard")
     oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
     oDlg.Execute()
     oDlg.Dispose()
End Sub

 このマクロを、Calcシート上に配置したボタンに割り付けて実行したところ、見事、ダイアログが開いてくれました。
 しかも、ダイアログ上のボタンに割り付けたマクロ(例:Msgbox表示)の実行まで、できました。

4 まとめ

 Microsoft製品のユーザフォームと、LibreOfficeのダイアログは、名前こそ違いますが、利用方法や動作はほぼ同じと分かりました。また、ダイアログ上に配置するボタンなどのコントロールもほぼ同じようです。
 LibreOffice Basic コードの意味等は、完全には理解できていません。内容を理解していないコードの利用は、もちろん自己責任です。それを承知の上でのコードのコピー&ペーストでした。
 それでも、想定どおりの動きをしてくれて、満足です。ちょっとした達成感を味わうことができました。

 それではまた次の記事で。
   goosyun