ホームページ
 LibreOffice BASIC(マクロ)
 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データベースを作ったのですが
ファイルパスを取得するマクロを作るのに悩みました。



 LibreOffice BASIC(マクロ)
 ホームページ