スペースを含んでいるからだと思うのですが、
何かよい方法は無いでしょうか?
↓こちらを↓
ter>
<table width="85%" bgcolor="#CCCCF
↓こちらに変換する↓
ter><b><Font Size="3" Color="#ff6600">ようこそ!<br><br></Font></b><table width="85%" bgcolor="#CCCCF
よろしくお願いします。
Option Compare Database
Option Explicit
'しっかりと、置換する文字列が設定されていれば、必ず置換できます。
'できない原因を推測
' おそらく、
' 置換前の文字列に「改行」が入っているようですが、この改行の為、上手くいかない?
' 改行(vbCrLf)が正しく処理(セット)されているかよく確認する。
' または、スペースの数が違っているため、置換できない。
' 念の為、スペース2つは、1つに置換(念の為)する処理を入れる
Public Function test()
Dim s As String
Dim x As String
Dim a As String
Dim b As String
'置換前の文字列
s = "xxxxxxxxxxxxxter>" & vbCrLf
s = s & "<table width=""85%"" bgcolor=""#CCCCF"" xxxxxxxxxx"
'提案:スペース2つは、1つに置換
x = ""
Do Until s = x
x = s
s = Replace(s, " ", " ")
Loop
'この文字列を(1)
a = "ter>" & vbCrLf
a = a & "<table width=""85%"" bgcolor=""#CCCCF"
'提案:スペース2つは、1つに置換(念の為)
x = ""
Do Until a = x
x = a
a = Replace(a, " ", " ")
Loop
'この文字列に置換する(2)
b = "ter><b><Font Size=""3"" Color=""#ff6600"">ようこそ!<br><br></Font></b>< table width=""85%"" bgcolor=""#CCCCF"
'[表示]-[イミディエイト ウィンドウ]に表示
Debug.Print "置換前の文字列------------------------"
Debug.Print s
'Replace関数により置換
s = Replace(s, a, b)
'[表示]-[イミディエイト ウィンドウ]に表示
Debug.Print "置換後の文字列------------------------"
Debug.Print s
End Function
'以上、お役にたちますでしょうか?
1.改行は、スペース1つに置換
2.スペース2つは、1つに置換
という2つの処理を入れ、文字列を整形してみたらいかがでしょうか??
以下、黒字部分です。
Public Function test()
Dim s As String
Dim a As String
Dim b As String
'置換前の文字列
s = "xxxxxxxxxxxxxter>" & vbCrLf
s = s & "<table width=""85%"" bgcolor=""#CCCCF"" xxxxxxxxxx"
'提案:文字列を整える
s = ChangeChr(s)
'この文字列を(1)
a = "ter>" & vbCrLf
a = a & "<table width=""85%"" bgcolor=""#CCCCF"
'提案:文字列を整える
a = ChangeChr(a)
'この文字列に置換する(2)
b = "ter><b><Font Size=""3"" Color=""#ff6600"">ようこそ!<br><br></Font></b>< table width=""85%"" bgcolor=""#CCCCF"
'[表示]-[イミディエイト ウィンドウ]に表示
Debug.Print "置換前の文字列------------------------(整形済み)"
Debug.Print s
'Replace関数により置換
s = Replace(s, a, b)
'[表示]-[イミディエイト ウィンドウ]に表示
Debug.Print "置換後の文字列------------------------"
Debug.Print s
End Function
'文字列を整える関数
Public Function ChangeChr(ByVal s As String) As String
Dim x As String
ChangeChr = ""
'改行は、スペース1つに置換
s = Replace(s, vbCrLf, " ")
'スペース2つは、1つに置換
x = ""
Do Until s = x
x = s
s = Replace(s, " ", " ")
Loop
ChangeChr = s
End Function
'以上、お役にたちますでしょうか?
ご連絡ありがとうございました。
がんばって、やってみましたが、手順がわかりませんでした。
ありがとうございました。
スペースの削除をやってみましたが、うまくいきませんでした。
問題は改行にあるようです。
さらに、同じ文字列でも改行があるところと改行が入っていないところとあります。
これは改行を全部削除する必要があるようです。
当初の質問からずれておりますが、よろしかったらお答えをいただけるとありがたいです。800ポイント差し上げます。