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

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

  • 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() End Sub   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 End Sub (コードは自己責任で、ご利用ください。)

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

テキストフィールド入力文字列をセルに転記 3 LibreOffice BasicとVBAの同時使用  ごく短かく、簡単なコードですが、なんせLibreOffice Basicという言語は初めてです。ああでもないし、こうでもないと、いろいろ試行錯誤を重ねました。その結果、マクロが完成して、思いどおりに動作してくれたときは、ちょっとした感動でした。  このマクロ作成途中で、とてもうれしい発見がありました。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の同時使用ができるとなると、マクロの利用幅がぐっと広がります。今後、大いに利用させてもらいます

Excel マクロ&VBA [実践ビジネス入門講座]【完全版】 第3版

  • 作者:国本 温子
  • SBクリエイティブ
Amazon

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

    goosyun

ランキング参加中gooからきました

ランキング参加中goo blog 転生組

*1:【LibreOfficeでVBAマクロ】 https://goosyun.hatenablog.jp/entry/2019/08/04/151122

📎📎📎📎📎📎📎📎📎📎