[[20071214221920]] 『同時に開いているワードをエクセルのあるセル値を』(浅ちえ蔵) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同時に開いているワードをエクセルのあるセル値をファイル名として保存するエクセルマクロを作りたい』(浅ちえ蔵)

入力作業をしたエクセルファイルを、マクロでまずあるセル値を名前として保存して、次に指定したワードを開いて、エクセルの一部分をコピーした後で、同じようにそのワードもあるセル値をファイル名として保存するようにしたいのですが、最後のワードに名前を付ける箇所の記述が分かりません。どうかよろしくお願いします。

 ThisWorkbook.SaveAs Filename:="D:\○\" & Sheets("□").Range("A2").Value
 ・・・・(省略)・・・
 Set myXL = GetObject(, "Excel.Application")
 myXL.ActiveWorkbook.Worksheets("△").Range("A:A").Copy
 Set myWD = CreateObject("Word.Application")
 myWD.Visible = True
 myWD.Documents.Open(フルパス).Content.Paste
 Application.CutCopyMode = False
 ThisWorkbook.SaveAs Filename:="D:\○\" & Sheets("□").Range("A2").Value
 Set myXL = Nothing
 Set myWD = Nohing

エクセルの名前を付けて保存およびワードを開いてコピーまでは正常に作動するのですが、これだと再度エクセルファイルを保存しようとします。最後の記述が悪いと思うのですが知識が浅いのでこれ以上できません・・・


 二つ目のこれを
     ↓
 > ThisWorkbook.SaveAs Filename:="D:\○\" ....

 こんな風にしたらどうなりますか? (当方の環境だと、正常に動いていますが)
 ↓
 myWd.Documents("ファイル名.doc").SaveAs Filename:="D:\○\"......
                    ↑
       フルパスにある本当のファイル名にしてください。

 (半平太)

早速にありがとうございます。
既存の文を修正したら上手く作動しましたが、最後に「オブジェクトが必要です」のエラーとなり、
再終行の「Set myWD = Nohing」が色づけされていましたので、これを削除したら最後まで動きました。
ワードの保存等もすべてできているようですが、この部分を削除しても後々の影響はないものなのでしょうか。

 >Set myWD = Nohing
        ↑    
 これはスペルの間違いです。 Nothing(正)ですよ ^^
 (単に転記ミスかと思い、あえて言及しませんでした)

 >この部分を削除しても後々の影響はないものなのでしょうか。
 仕様(*)の解釈では、「影響ない」と言うのが一般的な見解です。

  (*)そのプロシージャが終了すれば、結局クリアされる(らしい)

 では、何故よく書かれるのか?
 誰か権威のある人が本に書いて流行らせたのではないでしょうか?
 そうなると、その権威者以下のレベルの人は逆らえないです。

 「寝るときはガス器具の電源を切りましょう」と消防署の人に云われたら、
 「実際にガスを使っていない限り、種火も含めてガスは出ない作りになっている」
 と器具の説明書にあっても、寝るとき電源を切るようにするのではないでしょうか?

 (また、用心深く考えるなら、そのガス器具が設計どおり作られていない(バグ)可能性
  だってありますから、ますます逆らえないです)

 (半平太)

大変はずかしいことをしてしまいました。
原ファイルは会社なので、投稿の記述をそのままコピーして試行していました。
見よう見真似で作っているので、正直各記述があまり理解できないままやっているのが現状です。
色々とご丁寧にご指導頂きましてありがとうございました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.