Word文書をテキストファイルに出力したいのですが、
SaveAsメソッド(第二引数wdFormatText)では、
Word文書に含まれている一部の文字(シングルクォート)が自動で?別の文字(シングルクォート)に変換されてしまいます。
手動で文書をコピーし、ノートパッドにコピー&ペーストすると変換されないことを確認したので下記方法を試みました。
1.WordのOpenメソッド、Copyメソッド
2.Shell関数でノートパッドを起動
3.SendKeys ("^V")でペースト
その先、名前を付けて保存する方法がわかりません。
どなたかご教授のほど、よろしくお願いいたします。
1.でコピーしたテキストをVBで保存ってのはどうですかね。
notepadから保存したいのであれば、保存する時の操作をsendkeyで送ればなんとかなるかもしれませんが。
もっと効率のいい方法があるかもしれませんがこれしか思いつきませんでした…
.さんコメントありがとうございます。
>1.でコピーしたテキストをVBで保存ってのはどうですかね。
すみません、VBで保存とはどのような方法でしょうか?
>notepadから保存したいのであれば、保存する時の操作をsendkeyで送ればなんとかなるかもしれませんが。
SendKeys ("^V")でノートパッドに1.でコピーしたテキストをはりつけし、
SendKeys ("%FA")で名前を付けて保存ダイアログを表示できますが、
次にどうしていいかわからないのです。
SendKeys ("%(FA)")
Sendkeys ("ファイル名")
SendKeys ("%S")
で保存できました。(すみません、こんなこともわかっていませんでした)
他にスマートな方法があればいいのですが、、、
>1.WordのOpenメソッド、Copyメソッド
というのをやったことがないので不確かですが、
1.でクリップボードにワードの文書がコピーされた後はこう書けばいいんではないでしょうか。
Open "sample.txt" For Output As #1
Write #1, Clipboard.GetText 'ファイルにクリップボードの内容を書き込む
Close #1
動作確認、例外処理などは行っていません。
スマートにということであれば、オブジェクトとして扱う方法が
花ちゃん様のサイトに色々サンプルコードがあったとおもいますが、、
Loki様、ヤマ@文系様ありがとうござました。
ツイート | ![]() |