. LibreOffice Calcセルへ転記 - つれづれ電脳記(日くらしPCに向かひて)
LibreOffice Calcセルへ転記 - つれづれ電脳記(日くらしPCに向かひて)
LibreOffice Calcセルへ転記 - つれづれ電脳記(日くらしPCに向かひて)

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

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

トップ > プログラミング・マクロ > ダイアログ上のテキストフィールド文字列をLibreOffice Calcセルへ転記

ダイアログ上のテキストフィールド文字列をLibreOffice Calcセルへ転記

  • 1 ダイアログを利用したマクロ自作
  • 2 自作マクロのコード
  • 3 LibreOffice BasicとVBAの同時使用
1 ダイアログを利用したマクロ自作 LibreOffice Calc のダイアログ(Excelのユーザフォームに相当)について、先日からこのブログに書いています。

ダイアログ操作に、Microsoft Office専用の言語VBAは使えません。LibreOfficeが対応している言語を使うことになります。その言語の中でも、LibreOffice Basic というのが、コードの書き方などで、VBAに近いようです。

VBAの解説ならば、ネット上にごろごろと情報があふれています。それに対し、LibreOffice Basic に関する情報となると、本当に数が限られます。実社会でのシェアを反映しての情報量です。 そうした中で、LibreOffice Basic について、とても参考になるWebサイト(ブログ)が見つかりました。「学校に通わずに学ぶログ」というタイトルのブログです。 そのブログ記事を参考にさせてもらい、自分なりに試行錯誤し、ちょっとしたマクロを作りました。 2 自作マクロのコード 今回自作したマクロは、ボタンをクリックすると、ダイアログ上に配置したTextField(テキストフィールド)に入力の文字列が、スプレッドシート(ワークシート)上のセルに転記されるというものです。 そのマクロコードは、次に掲載のとおりです。 Option VBASupport 1 REM ***** BASIC ***** Option Explicit 'Subルーチンの外側でoDlgを宣言しておく Dim oDlg As Object Sub ShowMyDialog DialogLibraries.LoadLibrary("Standard") oDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1) oDlg.Execute() oDlg.Dispose() Sub TxtTenki Dim oTextField As Object Dim sText As String oTextField = oDlg.GetControl("TextField1") sText = Cstr(oTextField.getText) 'A9セルに文字列を転記 Thisworkbook.Worksheets(1).Range("A9").Value = sText 'メッセージボックスに文字列表示 MsgBox "入力した文字列:" & vbLf & sText (コードは自己責任で、ご利用ください。)

よろしければ、このコードはどうぞ自由にご利用ください。ただし、くれぐれも自己責任でお願いします。万一、このマクロ実行によって不具合等が生じたとしても、当方は一切の責任を負いません。

3 LibreOffice BasicとVBAの同時使用 このマクロ作成途中で、とてもうれしい発見がありました。LibreOffice BasicとVBAの、同時使用ができることです。なんと、2つをごちゃ混ぜで使っても、まともに動作するではありませんか。 モジュール冒頭(1行目)に、 Option VBASupport 1というおまじないを挿入すると、LibreOfficeマクロでも、VBAの一部が動作します*1。一部互換です。

上記2に掲載しているマクロコードの中味をじっくり見てもらうと分かりますが、 Thisworkbook.Worksheets(1).Range("A9").Value = sText というVBAコード中で、変数sTextを利用できています。 つまり、LibreOffice Basicコード中で値を代入した変数sTextですが、VBAコードの中でその代入値を利用できているのです。

LibreOffice BasicとVBAの同時使用ができるとなると、マクロの利用幅がぐっと広がります。今後、大いに利用させてもらいます goo blog 転生組 1 Excelマクロ習得のきっかけ 2 LibreOffice Calcマクロ 3 … 1 Microsof Office のサポート終了 2 LibreOfficeへ移行 3 … 自宅PCにインストールして利用してきた Microsoft Office のサ… 先日、LibreOffice Calc のマクロを、この記事に書きました。ダ… 1 LibreOfficeへの移行 2 ダイアログの作成 3 ダイアログを…
  • Linux・Ubuntu (139)
  • プログラミング・マクロ (139)
  • 雑記(未分類) (222)
  • 自宅PC (372)
  • OS_Windows (133)
  • PC用キーボード (54)
  • 画像編集 (258)
  • ブログ作成 (20)
  • スマートフォン・タブレット (85)
  • 職場 (46)
  • Amazon_Fireタブレット (34)
📎📎📎📎📎📎📎📎📎📎