4章: OpenOfficeBasic_3(ThisWorkbook.Path)

    作成2016.11.09

  1. OpenOfficeBasic_3(ThisWorkbook.Path)の概要
    (1)EXCELのVBAでは、ワークブックが含まれるフォルダーのディレクトリーパスは「 ThisWorkbook.Path 」 と記載すると実行されます。
    (2)OpenOfficeBasicでは、 ThisWorkbook.Path に対応する文字列変数がなさそうです。
    (3) ThisWorkbook.Pathに相当する文字列関数「 ThisWorkbookPath」を作成します。


  2. OpenOfficeBasic_3(ThisWorkbook.Path)作成方法
    (1) 「OpenOfficeBasic_2.ods」ファイルを複製します。
    (2)ファイル名を「OpenOfficeBasic_3.ods」に変更します。
    (3)「OpenOfficeBasic_3.ods」ファイルをダブルクリックで起動します。
    (4)OpenOffice-セキュリティ警告が表示されるので「マクロの有効化」ボタンを押します。



    (5)メニューの「ツール」_「マクロ」_「マクロの管理」_「OpenOffice Basic」を選択します。
    (6)OpenOffice Basic マクロダイアログで「 OpenOfficeBasic_3.ods」_「 Stndard 」_「Module1」_「Main」 を選択します。
    (7)「編集」ボタンを押します。



    (8)プログラムコードを以下のように変更します。
    Sub Main
      Msgbox ThisWorkbookPath
    End Sub
    
    ' このブックの存在するフォルダをフルパスで返す。
    ' Excel VBAでの ThisWorkbook.Pathに相当
    Function ThisWorkbookPath
      windows_filepath = ConvertFromUrl(ThisComponent.URL )
      vntURL = Split(windows_filepath, "\")
      i = UBound(vntURL)
      ReDim Preserve vntURL(i - 1)
      windows_dir_path = Join(vntURL, "\")
      ThisWorkbookPath = windows_dir_path
    End Function
    



    (9)「BASIC プログラムの実行」ボタンを押します。
    (10)以下のメッセージが表示されます。



    (11)「OK」ボタンを押すとプログラムを終了します。
    (12)OpenOfficeBasicのIEDウインドウを閉じます。


  3. プログラムコードの保存
    (1)メニューの「ファイル」_「保存」を選択します。
    (2)OpenOfficeCalcを終了します。


  4. Function ThisWorkbookPathの解説
    (1) ConvertFromUrl(ThisComponent.URL )でファイル名を含むフルパスが得られます。
    (2) Split(windows_filepath, “\”)で“\”区切りの文字列配列に変換します。
    (3) UBound(vntURL)で文字列配列の数が求まります。
    (4) ReDim Preserve vntURL(i - 1)で文字列配列の数を1個減らします。
    (5) Join(vntURL, “\”)で文字列配列を結合すると、ファイル名を除いたフルパスが得られます。


  5. OpenOfficeBasic_3.odsのダウンロード
      OpenOfficeBasic_3.odsは以下からダウンロードできます。
    OpenOfficeBasic_3.odsをダウンロードする。




5章: OpenOfficeBasic_4(getCellByPosition)に行く。

トップページに戻る。