- VBAなんでも質問スレ
726 :721[sage]:2014/07/09(水) 00:07:05.52 ID:1lOVE9DK - >>717
>>724-725のコードをそのままExcelのブックにコピペして Sub ReplaceString() に Const msoTextBox As Long = 17 Const msoCanvas As Long = 20 Private Sub ReplaceShapeText(Shp As Object, SrcText As String, DestText As String) には Const wdReplaceAll As Long = 2 を追加したら動きました。 Const msoTextBox As Long = 17 と Const wdReplaceAll As Long = 2 は、参照設定すれば不要になったのですが、 Const msoCanvas As Long = 20 は、参照設定しても省略できませんでした。 うちの環境がOffice2000だからかもしれません。 とにかく、この状態でマクロを実行すると、 指定したドキュメントを自動で開いて その中に複数あるテキストボックス内の 複数ある"@@@"をすべて"2013"に置換することまでは確認できました。 うちの環境では要求どおりの動作を出来ているので 717さんの環境でなぜ正常に動かなかったのかは分からないです。
|