AX 文字列を置換するReplace関数 −LibreOffice Base−

文字列を置換するReplace関数 −LibreOffice Base−


The Apache OpenOffice Wiki から引用。

 

関数の記述の中身は理解しなくていいです。
コピペしてマクロモジュールの最終行のあたりに突っ込んでおけば、Replace関数が使えるようになります。

 

使用例として、

msgbox Replace(“abcdefg”,”bc”,”—–“)

だと、変換されて「a—–defg」と表示されます。

Function Replace(Source As String, Search As String, NewPart As String)
  Dim Result As String
  Dim StartPos As Long
  Dim CurrentPos As Long
  Result = ""
  StartPos = 1
  CurrentPos = 1
  If Search = "" Then
    Result = Source
  Else 
    Do While CurrentPos <> 0
      CurrentPos = InStr(StartPos, Source, Search)
      If CurrentPos <> 0 Then
        Result = Result + Mid(Source, StartPos, _
        CurrentPos - StartPos)
        Result = Result + NewPart
        StartPos = CurrentPos + Len(Search)
      Else
        Result = Result + Mid(Source, StartPos, Len(Source))
      End If                ' Position <> 0
    Loop 
  End If 
  Replace = Result
End Function

 

( LibreOffice 6.2.4.2 / Linux Mint Debian Edition3(LMDE3)”Cindy” )

シェアする

  • このエントリーをはてなブックマークに追加

フォローする