お願いします。VCコンパイルすらわかりません '備考呼び出しCall StrReplace(OutputLine(StrInt), vbLf, vbCrLf) ’LFをvbCrLfに置換する処理 Public Function StrReplace(ByRef strExp As String, _ ByRef strFind As String, _ ByRef strRep As String, _ Optional ByVal lngStart As Long = 1, _ Optional ByVal lngCount As Long = -1, _ Optional ByVal lngComp As Long = vbBinaryCompare) As String
Dim strBuffer As String '置き換え結果一時格納バッファ Dim lngPos2 As Long 'InStr 関数用文字検出位置 Dim lngMidSize As Long 'Mid$ 関数で抜き出される文字数 Dim lngTotalSize As Long '置き換え開始ポインタ Dim lngExpLen As Long '置き換えの対象となる文字列のサイズ Dim lngFindLen As Long '検索される文字列のサイズ Dim lngRepLen As Long '置き換えされる文字列のサイズ Dim lngBufSize As Long '予約された文字列のサイズ Dim lngMargin As Long '予約バッファサイズと置換サイズの差 Dim lngRepCnt As Long '置き換えを行った回数
lngExpLen = Len(strExp) 'strExp のサイズを得る lngFindLen = Len(strFind) 'strFind のサイズを得る lngRepLen = Len(strRep) 'strRep のサイズを得る If lngExpLen = 0 Or lngFindLen = 0 Then 'strExp または strFind がサイズ 0 だった場合 StrReplace = strExp '何も置換せずに関数を抜ける Exit Function End If
If lngFindLen < lngRepLen Then 'strRep の文字数が strFind より大きい場合 lngBufSize = lngExpLen + ADD_SIZE 'バッファサイズを strExp より ADD_SIZE 多く確保 Else lngBufSize = lngExpLen End If strBuffer = String$(lngBufSize, vbNullChar) 'strBuffer を NULL 文字で埋める
If lngStart <= lngExpLen Then '正しい検索開始点が設定されている場合 If lngStart <> 1 Then Mid(strBuffer, 1, lngStart - 1) = Left$(strExp, lngStart - 1) '検索開始点より前の文字列をバッファにコピー End If lngTotalSize = lngStart Else '正しい検索開始点が設定されていない場合 StrReplace = strExp '何も置換せずに関数を抜ける Exit Function End If