![]() |
|
![]() |
|
CALC マクロ 開いているファイルパスを取得 | |
マクロで開いているファイルのパスを取得するマクロを検索を探していたところ・・・ LibreOfficeマクロ・使い方学習ノート でファイルのパスを取得するマクロの解説されていましたので 実際にマクロを実行してみました。 解説によりますと「CALC」と「BASE」では記述が違います~ 引用 ------------------------------------------------------------------------------ Sub CurrentPath '***************************************************************************** '* 機能 : ファイルのパスを取得(CalcとBaseは記述が違います) '***************************************************************************** Dim oUrl As String 'oUrl = StarDesktop.CurrentComponent.getURL 'oUrl = ThisComponent.getURL 'マクロがあるCALCシートのパスを取得する場合 oUrl = Thisdatabasedocument.getURL 'BASEのODBファイルのパスを取得する場合 ' MsgBox oUrl ' MsgBox ConvertFromUrl(oUrl) ' oUrl = ConvertFromUrl(oUrl) Dim iCnt As Integer Dim iRes As Integer iCnt = 1 Do While iCnt <> 0 iCnt = InStr(iCnt+1, oUrl , "/" ) If iCnt <> 0 Then iRes = iCnt End If Loop oUrl = Left(oUrl, iRes) ' MsgBox strTest ' MsgBox oUrl LocationPath = oUrl 'Public変数にファイルパスを格納 End Sub ------------------------------------------------------------------------------ 「CALC」の場合は ------------------------------------------------------------------------------ Sub CurrentPath oUrl = ThisComponent.getURL Dim iCnt As Integer Dim iRes As Integer iCnt = 1 Do While iCnt <> 0 iCnt = InStr(iCnt+1, oUrl , "/" ) If iCnt <> 0 Then iRes = iCnt End If Loop oUrl = Left(oUrl, iRes) 'MsgBox strTest MsgBox oUrl LocationPath = oUrl 'Public変数にファイルパスを格納 End Sub ------------------------------------------------------------------------------ 実際に実行してみますと
2015年頃、BASEでPDFデータベースを作ったのですが ファイルパスを取得するマクロを作るのに悩みました。 |
|
![]() |
|
![]() |