LibreOfficeマクロ-日付が名前に含まれるxlsxファイルをひらく

2019/11/01

プログラム

t f B! P L
※2019/11/8追記修正※

今日の日付(2019年11月1日⇒191101)
が名前に含まれるxlsxファイル「a191101.xlsx」
をひらくLibreOfficeマクロを示す。

■日付が名前に含まれるxlsxファイルをひらくマクロ

REM  *****  BASIC  *****
Sub sample02()
       Dim obj As Object
       Dim url As String
       url = ConvertToUrl("D:\a" & Format(Date, "yymmdd") & ".xlsx")
       obj = StarDesktop.loadComponentFromURL(url, "_blank", 0, Array())
End Sub
■条件
・ファイル名「a191101.xlsx」
・今日の日付(2019年11月1日⇒191101)
・Dドライブ[D:\a191101.xlsx]に保存したファイルをひらく

■実行結果
Dドライブに保存している「a191101.xlsx」がひらく。
■応用
デスクトップに保存している「a191101.xlsx」を開く場合、
マクロ5行目を変更する。
       url = ConvertToUrl("C:\Users\kei\Desktop\a" & Format(Date, "yymmdd") & ".xlsx")
※注意
デスクトップの場所を示すコードは
名前(kei)が含まれるので、人により異なる。
「xlsxファイルを右クリック」⇒「プロパティ」で場所を確認できる。
プログラムは別環境下でも動作することが望ましい。
特に理由がなければ記述のよさ(冗長性が高い)は、
「Dドライブ>>>デスクトップ」

「冗長性が高い」とは簡単に言えば
「デスクトップ」ブログラムを誰かに渡しても動かないが、
「Dドライブ」プログラムはDドライブがあれば動く。という事。

■(参考)エクセルVBA-名前に日付を含むxlsxファイルをひらくマクロ

Sub sample01()
Workbooks.Open ("D:\a" & Format(Date, "yymmdd") & ".xlsx")
End Sub
エクセルVBAで
名前に日付を含むxlsxファイルをひらくマクロを示す。

※2019/11/3追記※
【注意1】「Workbooks.Open」はLibreOfficeでも使用可。
「Sub sample01()」の前に「Option VBASupport 1」追記。
Option VBASupport 1
Sub sample01()
Workbooks.Open ("D:\a" & Format(Date, "yymmdd") & ".xlsx")
End Sub

【注意2】プログラムコードを記述する場所は、
■「マイマクロ & ダイアログ」⇒「Standard」⇒「Module1」はNG。
■「〇〇.xlsm」(エクセルのVBAマクロファイル)⇒「VBAProject」⇒「モジュール」はOK。

■あとがき

実務で使うならまずは「ファイルをひらく」マクロだろうと思い、
LibreOffice BasicでWorkbooks.Open使えるのか試したら
エラーがでて使えなかった。
「VBAProject」の「モジュール」にコード記述したら動いた。

それに気づかず記述した、
LibreOffice流での「ファイルをひらく」が冒頭のマクロ。
LibreOfficeをずっと使うならLibreOffice流で学べばよい。

仕事でエクセルを使う予定なら、
はじめからエクセルを学ぶ方が
LibreOfficeを学ぶ手間をはぶける。

同じエクセルでもバージョンの違いで
Excel2003(.xls)までは最大行数=65,536行。
Excel2007(.xlsx)からは最大行数=1,048,576行。
相違あるから、
今使うモノを学ぶのは時間効率を考えると大事。

ただ、私はエクセルVBA使えるので、
LibreOfficeでも使えるか試していこうと思う。

ソフトを少し使ってみたカンジではエクセルの方が使いやすい。
私がエクセル使いなので評価に偏りはあるが、
「複数行まとめてコメントアウトできないのか…?」みたいな。
あと、モジュール名やコードの日本語が「??」に置き換わる
バグっぽいのが発生…。
LibreOfficeでエクセル形式(xlsxやxlsm)で保存したファイルを開くと発生。
⇒LibreOfficeのODF形式(ods)で保存すると回避できる。
「日本語を使わない」という手もあるが現実的ではないな。
LibreOffice使うなら「ODF形式使え」ってことですわ。

バックアップあるから復元可能だが危険…。
「タダより高いモノはない」という言葉が脳裏をよぎる。
まあ、
「無料で即時プログラムを動かしてみたい」「試したい」
なら

LibreOfficeでエクセルVBAマクロを実行する方法

を読んで実行すれば達成できる。
「プログラムを動かした事がある人」
になれる。実務レヴェルではないが、
何事も積まねばとどかない。

未来の予定、何を見定め、目標とするかで、
今実行すべき行動の正解は異なる。人による。

とりあえず今後は、
会社の事務、実務、実作業で使った
使用頻度の高いマクロを示していこうと思う。
以上。

ブログ アーカイブ

ラベル

このブログを検索

スポンサーリンク

自己紹介

機械メーカー総合職正社員10年勤務後退職。 エクセルVBAプログラム歴 5年。 LibreOffice(無料)でVBAマクロ検証。
■Fortniteクエスト攻略動画■
■Twitter■
⇒詳細プロフィールを表示

QooQ