「エラー表示」を質問中ですが、別件で質問です。
SimpleFileAccess なんですが、openFileWrite でオープンして TextOutputStream を使いました。
既存ファイルに対して、その既存ファイルデータサイズより小さいデータサイズを出力すると、
出力データサイズ部分までが上書き更新され、それ以降の後半が元のデータ内容のままで
残ります。Rewrite モードのようです。
他に OpenFileReadWrite があるので、openFileWrite は以前の内容を消して出力内容のみで
書き込まれる Output モードだと思ったのですが、違うのでしょうか?
コード: 全て選択
Sub Main
Dim oFileAcc As Object
Dim oOutputStream As Object
Dim i As Long
Const sURL As String = "D:\MyDocuments_D\TEMP\TEST1.txt"
  oFileAcc = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
  oOutputStream = CreateUnoService("com.sun.star.io.TextOutputStream")
  With oOutputStream
    .setOutputStream(oFileAcc.openFileWrite(ConvertToURL(sUrl)))
    For i = 1 to 20
      oOutputStream.writeString("TestData" & i & chr(13) & chr(10))
    Next i
    .closeOutput()
  End With
  
  ' 小さめのデータ量で再書き込み
  With oOutputStream
    .setOutputStream(oFileAcc.openFileWrite(ConvertToURL(sUrl)))
    For i = 1 to 10
      oOutputStream.writeString("TestDataXXXX" & i & chr(13) & chr(10))
    Next i
    .closeOutput()
  End With
End SubTextOutputStream で Output モードの使用は出来ないのでしょうか?