[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2006/12/06(Wed) 09:36
投稿者名:カナちゃん
Eメール:
URL :
タイトル:
Word文章を、所定のホルダーに名前をつけて保存する方法
 初めて投稿します。
いつもレスクー花ちゃんを便利に利用させてもらっています。
さて、Word文章を読込み、訂正して、所定のホルダーに名前をつけて保存するプログラムを作りたい
のですが、読込み、訂正は花ちゃんのリッチテキストの方法でできたのですが、所定のホルダーに
保存する方法が出来ません。

wdApp.Quit SaveChanges:=wdSaveChanges
これだと保存するホルダーとファイル名称を聞きにきます。
 
ActiveDocument.SaveAs FileName:="c:Text1.doc", FileFormat:=wdFormatRTF
wdApp.Quit
こうすると、マイドキュメントに自動的に保存されます。C に直接には入りません。

Word文章を、所定のホルダーに名前をつけて保存する方法が判りましたらぜひ、教えてください。 

投稿時間:2006/12/06(Wed) 09:46
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: Word文章を、所定のホルダーに名前をつけて保存する方法
> 所定のホルダー
folder の事ですよね。一般的には フォルダ と書くものかと。
# ホルダーと書かれると、holder の方を連想してしまう…。

> いつもレスクー花ちゃんを便利に利用させてもらっています。
レスキュー (rescue) でしょう…。


> ActiveDocument.SaveAs FileName:="c:Text1.doc", FileFormat:=wdFormatRTF
> wdApp.Quit
> こうすると、マイドキュメントに自動的に保存されます。C に直接には入りません。

C:\foo\bar.txt と
C:foo\bar.txt  の違いは、把握しておられますか?

前者は、「Cドライブの直下の“foo ディレクトリ”にある、bar.txtファイル」を意味する絶対パスで、
後者は、「Cドライブの、“カレントディレクトリ”にある、bar.txtファイル」を意味する相対パスです。

投稿時間:2006/12/06(Wed) 11:04
投稿者名:カナちゃん
Eメール:
URL :
タイトル:
Re^2: Word文章を、所定のホルダーに名前をつけて保存する方法
魔界の仮面弁士 さま
早速のご回答ありがとうございました。絶対パス、相対パスは知りませんでした。

しかし、Cの下に「ProWord」のフォルダを作り、
ActiveDocument.SaveAs FileName:="C:\ProWord\Text1.doc", FileFormat:=wdFormatRTF

と記載してみましたが、やはりマイドキュメントに新しい「文書1」ファイルとして聞いてきます。
セーブの方法がちがうのでしょうか。

投稿時間:2006/12/06(Wed) 11:50
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: Word文章を、所定のホルダーに名前をつけて保存する方法
> ActiveDocument.SaveAs FileName:="C:\ProWord\Text1.doc", FileFormat:=wdFormatRTF

そもそも、起動した Word を指し示す変数は、『wdApp』だったはずですが、
上記には、その変数に関連した表記が不足していますよね。
(このサイトの “Excel・Word関係”サンプルでも、注意事項とされている点です)


たとえば、仮に wdApp と wdApp2 という 2 つの変数を用意し、Word を同時に
2 つ起動したと仮定してみてください。その場合、今回の記述による
 ActiveDocument.SaveAs 〜〜
というコードは、2 つ起動されていた Word のうち、どちらの文書を指し示すか不定ですよね。
また、一つの Word 内で、複数の文書を開いていた場合も、その ActiveDocument が、
どの文書を指し示しているのかは、曖昧なものとなってしまうでしょう。


Active系プロパティに頼らず、どの文書を保存しようとしているのかを、
明示的に指定したコードに修正してみてください。そうすれば解決するかも知れません。

投稿時間:2006/12/09(Sat) 08:19
投稿者名:カナちゃん
Eメール:
URL :
タイトル:
Re^4: Word文章を、所定のホルダーに名前をつけて保存する方法
魔界の仮面弁士さん ありがとうございました。
wdApp.ActiveDocument.SaveAs FileName:="C:\ProWord\Text1.doc", FileFormat:=wdFormatRTF
として、前の方も見直し訂正してWord文章を、所定のホルダーに名前をつけて保存することができました。
 ただし、前のWordの書式設定を読み込み、新しいWordに設定したいのですがまだ出来ておりません。勉強します。