• ベストアンサー

Libre表計算アプリでリネーム マクロを作りたい

エクセルでは作動しているVBAマクロがあります。 これをlibreで動くマクロに作り変えたい。 コードはむやみに開示しないことを条件にいただいたものなので、ここでは提示は控えます。 作りたいのはリネームアプリになりますが、Libreは初めてなので独学でやるとかなり遠回りになりそうなのでお教え願いたいです。 以下の流れのコードを作るのに、このサイトを参考にしろと教えていただきたいのです。 1 シート上のボタン1を押すとダイアログ1が現れる 2 ダイアログ1上の参照ボタンを押すと、リネームしたいファイルがあるフォルダを選ぶエクスプローラのような画面が現れる。 3 選んだフォルダのパスをダイアログ1のテキストboxに表示 1はここを見ろ 2はここを見ろ 3はここを見ろ と教えてください。

  • gennya
  • お礼率90% (1051/1162)

質問者が選んだベストアンサー

  • ベストアンサー
  • NuboChan
  • ベストアンサー率47% (745/1583)
回答No.2

これで最後にします。 >どこにコードを書けばよいのかというレベル と言うことなので以下を紹介します。 【LibreOfficeマクロ】Editor起動 http://seskillup.jp/%E3%80%90libreoffice%E3%83%9E%E3%82%AF%E3%83%AD%E3%80%91editor%E8%B5%B7%E5%8B%95/ 個人的には、MS_Officeの利用者なのでLibreOfficeに関しては関心がありません。 同じURLでマクロについて入門解説があるのでそこから始めてみてはいかがですか? http://seskillup.jp/category/syosinsya-kouza/libreoffice-macro-basic/

gennya
質問者

お礼

何度も回答ありがとうございます。 エクセルが搭載されていないPCを買ったのでlibreに挑戦し、最初はどんなことでも取っつきにくく苦戦してしていましたが、何とか形になってきました。

Powered by GRATICA

その他の回答 (1)

  • NuboChan
  • ベストアンサー率47% (745/1583)
回答No.1

このコードは、ユーザーがボタンをクリックするとダイアログを表示し、 フォルダ選択ダイアログを開き、選択したフォルダのパスをテキストボックスに表示するように設計されています。 REM ダイアログを表示するマクロ Sub ShowDialog1() DialogLibraries.LoadLibrary("Standard") oDialog1 = CreateUnoDialog(DialogLibraries.Standard.Dialog1) oDialog1.execute() End Sub REM フォルダ選択ダイアログを開くマクロ Sub OpenFolderDialog() oDialog1 = CreateUnoDialog(DialogLibraries.Standard.Dialog1) oFolderPicker = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker") oFolderPicker.execute() oDialog1.getControl("TextBox1").Text = oFolderPicker.Directory End Sub ``` このコードは、LibreOffice Basicで書かれており、 `Dialog1`という名前のダイアログと、`TextBox1`という名前のテキストボックスが既に作成されていることを前提としています。 この程度のマクロであれば、 その感動するVBAをLibreOfficeのマクロに変換するようにAIに依頼する事が可能かも?

gennya
質問者

お礼

回答ありがとうございます。 質問にもう少し詳しく書けばよかったのですが、初めてLibreを使うので、どこにコードを書けばよいのかというレベルなのです。 そこでサイトを紹介してほしかったのです。

Powered by GRATICA

関連するQ&A

  • Excelマクロを削除したのに…

    こんにちは。 いまExcel2003を使用しています。 あるブックファイルにマクロプログラム(VBA)を作成しました。 VBAProjectエクスプローラには標準モジュール「Module1」 ができています。 そこでこのマクロ自体を削除することになり, VBAProjectエクスプローラから標準モジュール「Module1」 を開放しました。 ところが当該ブックファイルを一旦閉じて, 改めて開くと,[セキュリティ警告]ダイアログが表示されて, マクロを有効にするか無効にするかを聞いてきます。 マクロを消したら, マクロセキュリティレベルを変えないままで, 上記のダイアログが出ないようにしたいのですが, どうすれば良いでしょうか? 教えてください。 よろしくお願いします。

  • コマンドボタンにマクロを登録させる方法

    エクセルでマクロを作成しました。マクロを実行させる為に「コントロールツールボックス」にある「コマンドボタン」で作ったボタンに登録をしたいのですがうまくいきません。 以前はコマンドボタンを作ったら、自動的に「マクロの登録」ダイアログボックスが出てきたのですが、何故か出なくなってしまいました。オートシェイプで作成したボタンなら、右クリックすると「マクロの登録」があるのですが、コマンドボタンを右クリックしても「マクロの登録」がありません。以前のように、自動的に「マクロの登録」ダイアログボックスを表示させる方法があったら教えてください。 また、ボタンをダブルクリックするとVBAが開いて以下のようなコードの記載がありますが、ここにコードを記載すればボタンをクリックしたときにマクロが実行されるのでしょうか?VBAはまったく解りませんので、どのように記載したらいいのかわかりません。実際に記入して教えてください。お願いします。マクロ名は、日本語で「結果一覧」としました。(「Private Sub CommandButton1_Click()」と「End Sub」の間に、マクロの記述部分をコピーして、貼り付けたら、ボタンをクリックしたときにマクロは実行できたのですが、もっと簡単にマクロ名を記述したら実行できるような気がするのですが、簡単に記述して実行できる方法があったら教えてください。) OSはWindows ME、Excelは2002 です。よろしくお願いします。 コマンドボタンをダブルクリックしたときのコードです。 Private Sub CommandButton1_Click() End Sub

  • 新規シートを作成してそのシートにマクロ

    VBAで以下の様なマクロを組みたいです。 新規シートを作成する→その作られたシートにボタンを設置→ボタンにコードを組み込む というマクロを組みたいのですが、そういうのは難しいでしょうか・・・ どなたかよろしくお願いします。

  • 「フォーム マクロをVisualBasicに変換」

    アクセス2007でフォームを作りコマンドボタンを設置し コマンドボタンウィザードで 種類:アプリケーション ボタンの動作:アプリケーションの終了 をしました。 VBAの勉強中のためVBAコードを知りたいので 「フォーム マクロをVisualBasicに変換」を押しましたが 「マクロ[埋め込みマクロ]を開くことができません。継続しますか?」 と表示されてしまいます。 「はい」を押すと「変換が完了しました」と出ますが VBE画面を見ても変換されていません。 どうすればVBAコードに変換することができるのでしょうか?

  • フォルダ名だけを取得するVBA

    VBAを使ったエクセルテンプレート適用ツールを作成しているのですが そのVBAのことで教えてください。 現在自作のフォーム上にあるテキストボックスにフルパスが入っているとします(添付図参照)。 *この前提は必須と考えてください。 次に作成ボタンをクリックすると Step1 新しいブックが開かれ行幅や書式などが自動で調整されます。 Step2 ブックの保存ダイアログが自動で開きます。     ただし、保存ダイアログが開いた時点で自作フォーム中の     テキストボックスで指定したフルパスに移動しており、     且つ移動先のフォルダ名(<-注意!!フルパス名ではありません!!)と     同じ文字列をファイル名入力欄に自動で入力されるようにします。    ex) D:\MyProject\Project01\TaskA\にブックを作成し保存する場合、      保存ダイアログのファイル名欄にTaskAとだけ書く。 マクロ自体はここでストップし、これ以降はユーザーがそのファイルメモで 保存してよいかどうかを判断し、問題なければ手動でダイアログ上の「保存」ボタンを押します。 問題はStep2で、保存先のフォルダ名と同じ文字列を保存ダイアログのファイル名に記入するには どのようなコードを書いたらよいでしょうか。 私自身としては下記の二案を考えているのですがそれぞれについて疑問があるので教えてください。 案1 作成ボタンを押した時点でテキストボックスに書かれているフルパスの文字列から   末尾にあるフォルダ名だけを取得して変数に代入し、これを保存ダイアログの   ファイル名欄に反映させる。   疑問:テキストボックスのValue値に書かれているフルパスを示す文字列から      末尾のフォルダ名だけを取得するためのコードは何と書けばよいのでしょうか? 案2 ブックの保存ダイアログが開いて保存先のパスに移動してから今保存ダイアログで    開いているフォルダ名を取得する。    疑問:今アクティブになっているブックが保存されているフォルダ名だけを取得する    方法なら確かあったような気がしています。    しかし今保存ダイアログで表示されているフォルダ名を取得するコードは何と    書けばよいのでしょうか?    そもそもそういったコードや操作自体VBAにあるのでしょうか?

  • Excel2007でマクロの呼び出し方がわからず困っています。

    Visual Studio 2008でExcelアドインのソリューションからリボン(ビジュアルデザイナ)を使って、Excel2007でリボンにボタンを作ったのですが、Excel2000で作ったVBAマクロをどうやって呼び出してよいかわかりません。どこにどういうコードを書いたら、ボタンにマクロを登録できるのでしょうか?回答をお待ちしています。

  • VBA マクロ保護

    VBA マクロ保護 VBAProject 保護はツールにて保護パスワード設定しています! 私が作ったもので、コマンドボタンをクリックしたら指定された フォルダにコピー(例;Sheet1のみコピー)できるようにしています! そこのコピーのフォルダを開き、ブックを開いてみると シート保護はされていますが コードの表示にパスワード設定がなく、そのまま見えてしまいます。 そこで質問なのですが コードの表示を見れなくさせるために VBA記述でコピーするときにVBAProjectにパスワード設定させたいです。 ちなみにVBAProject本体には、パスワード設定しています。 どのようにすれば良いか?記述を教えてください!

  • EXCEL2000のVB6.0のマクロで困ってます。

    エクセル2000についている?ビィジュアルベーシック6.0でマクロを作成しています。 以前のVBAのマクロの解説書を見ながら考えているのですが、下のような感じのマクロを作りたいんです。 1、エクセルのシートにあるボタンを押すとマクロスタート 2、アクティブシートにダイアログボックスを表示し、欲しい情報を集める。(リストボックスを使いたい。) 3、2の結果で作表(作成済みのテンプレートに情報を配置) 4、マクロ終了。 1と3、4はなんとか理解できているのですが、2のところを「他の人がダイアログボックスを変えないように、出来ればマクロの中で何とかする。」っていう条件で出来ないか、教えてください。 以前のバージョンでは、ダイアログシートの挿入があったので、そのシートに保護をかけちゃえば問題ないと思うんですが。 難しければ、オブジェクトを置いたシートなどに保護をかける方法でもよいです。 よろしくおねがいします。

  • マクロが実行できません

    Excel97を使っています。 あるワークブックに4枚のシートがあります。 全てのシートはパスワード付きで保護しています。 VBAProjectのプロパティもパスワード付きで保護しています。 4枚の内の1枚のシートにコマンドボタンを配置して、そのコマンドボタン押下時に、次の動作をするコードを記述しています。 (1)YesNoの確認ダイアログを出す (2)Yesであれば現在のシートをテキスト区切りファイルとして保存する (3)Noであれば何も動作しない ところが、コマンドボタンを押して、確認ダイアログの“はい”ボタンを押すと、「実行時エラー'1004': 'SaveAs'メソッドは失敗しました:'_workbook'オブジェクト」というエラーが出てマクロがストップしてしまいます。 一旦VBAを開いて、VBAProjectのプロパティのパスワード付き保護を解除すれば、正常に動作します。 宜しくお願いします。

  • Excel ブックのリネームがうまくできません

    windows10,microsoft365使用の超初心者です。 デスクトップにフォルダ「計算」があります。その中に令和2年度計算.xlsmとフォルダ「実績」があります。フォルダ実績の中に令和2年9月実績.xlsxがあります。 このファイルの名前を変えたくて、下記コードをみつけました。 実行するとダイアログボックスに、令和2年度計算.xlsmと入っています。このボックスのなかに令和2年9月実績.xlsxを表示するには、 コードをどう変えたらいいか教えていただきたいです。よろしくお願いします。 Sub File_Name() Dim Cur_Path As String 'ファイルのパス' Dim Cur_Name As String '元のファイル名' Dim New_Name As String '変更後のファイル名' 'ファイルのパス、ファイル名の読み込み' Cur_Path = ThisWorkbook.Path Cur_Name = ThisWorkbook.Name 'インプットボックスの表示とファイル名の変更' New_Name = InputBox(Prompt:="ファイル名を入力して下さい。", Default:=Cur_Name) '「キャンセルボタン」または「×ボタン」を押した場合' If New_Name = "" Then Exit Sub Else End If 'ファイルの別名保存して閉じて再度開く' ThisWorkbook.SaveAs Cur_Path & "\" & New_Name Workbooks.Open Cur_Path & "\" & New_Name 'ファイルの別名保存して閉じて再度開く' If Cur_Path & "\" & New_Name <> Cur_Path & "\" & Cur_Name Then Kill Cur_Path & "\" & Cur_Name Else End If End Sub

専門家に質問してみよう