http://www.hatena.ne.jp/1089615935#
エクセル2000のファイルに「テキストボックス」がたくさんあります。このテキストボックス内の文字を一括で置き換えるにはどのようにすればいいでしょうか?.. - 人力検索はてな
邪道かもしれませんが
いったんhtmlで保存してノートパッドでなどで一括置き換えすれば出来ます。終わったらxls形式に戻せばよいのでは
上記URLはダミーです。
VBAがわかるなら下記でどうでしょう?
ツール>>マクロ>>Visual Basic Editor
プロジェクトエクスプローラ内ThisWorkbookをダブルクリック
表示されたウィンドウに書きコード貼り付けし、コード内をクリックし実行。
下記プログラムは私の環境で簡単なテストをしていますが、バックアップをとり実施して下さい。
あくまでも、サンプルとして考えてもらえると(^^
Sub txtRep()
Dim oWs As Worksheet
Dim oTBox As Shape
Dim strWk As String
’全シートを対象とする
For Each oWs In Excel.ActiveWorkbook.Worksheets
For Each oTBox In oWs.Shapes
If InStr(oTBox.Name, ”Text Box”) > 0 Then
oWs.Activate
oTBox.Select
’Replace関数内に6個の引数がありますが、下記の内容を置き換えたい方法により
’2〜5番目の内容を変更して下さい。
’2:置き換え元文字列
’3:置き換え後文字列
’4:何文字目から置き換え対象とするか(1:先頭から)
’5:何回置き換えするか(-1:全て)
strWk = Replace(Selection.Characters.Text, ”置き換え元文字列”, ”置き換え後文字列”, 1, -1, vbTextCompare)
If strWk <> oTBox.AlternativeText Then
Selection.Characters.Text = strWk
End If
End If
Next oTBox
Next oWs
End Sub
おお! うまくいきました。
助かりました。ありがとうございます。
ありがとうございます。早速やってみました。テキストエディタで置換後再度エクセルで読み込ませると”HTMLインポートエラー”が表示されてしまいました。できあがったファイルは一見、きちんと置換されている様に見えますがどこでエラーが起きているのかこれを調べるのに手間がかかりそうです。