6章: OpenOfficeBasic_5(テキストファイル入出力)

    作成2016.11.11

  1. OpenOfficeBasic_4(getCellByPosition)の概要
    (1)テキストファイルへの書き込みと読み出しを行います。


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



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



    (8)プログラムコードを以下のように変更します。
    Sub Main
      aFile =ThisWorkbookPath+ "\data.txt"
      iNumber = Freefile
      Open aFile For Output As #iNumber
      Print #iNumber, "This is a line of text"
      Print #iNumber, "This is another line of text"
      Close #iNumber
      iNumber = Freefile
      Open aFile For Input As iNumber
      While not eof(iNumber)
        Line Input #iNumber, sLine
        If sLine <>"" then
          sMsg = sMsg & sLine & chr(13)
        end if
      Wend
      Close #iNumber
      Msgbox sMsg
    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)ワークブックの同一フォルダー内に「data.txt」が作成されます。



    (13)data.txt内に以下の文字列が書き込まれています。
    This is a line of text
    This is another line of text


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


  4. OpenOfficeBasic_5(テキストファイル入出力)の解説
    (1) Windows10では、Usersフォルダー以外のファイルへのデータ書き込みが禁止されているようです。
    (2)従って、このブックの存在するフォルダ内に“data.txt”ファイルを作成します。
    (3) iNumber = Freefileは(iNumber = 1)となります。
    (4) Open aFile For Output As #iNumberは出力モードで“data.txt”をオープンします。(無い場合は作成します。)
    (5) Print #iNumber, “This is a line of text”で文字列を出力します。
    (6) Close #iNumberでファイルを閉じます。
    (7) Open aFile For Input As iNumberは入力モードで“data.txt”をオープンします。
    (8)While not eof(iNumber)はEOFを検出するまで繰り返します。
    (9) Line Input #iNumber, sLineは“data.txt”から1行読み込みます。
    (10) sMsg = sMsg & sLine & chr(13)で読み込んだ文字列を合成します。
    (11) Msgbox sMsgで読み込んだ文字列を表示します。


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




7章: OpenOfficeBasic_6(セルデータのテキストファイルへの出力と入力)に行く。

トップページに戻る。