[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『同時に開いているワードをエクセルのあるセル値をファイル名として保存するエクセルマクロを作りたい』(浅ちえ蔵)
入力作業をしたエクセルファイルを、マクロでまずあるセル値を名前として保存して、次に指定したワードを開いて、エクセルの一部分をコピーした後で、同じようにそのワードもあるセル値をファイル名として保存するようにしたいのですが、最後のワードに名前を付ける箇所の記述が分かりません。どうかよろしくお願いします。
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 ↑ これはスペルの間違いです。 Nothing(正)ですよ ^^ (単に転記ミスかと思い、あえて言及しませんでした)
>この部分を削除しても後々の影響はないものなのでしょうか。 仕様(*)の解釈では、「影響ない」と言うのが一般的な見解です。
(*)そのプロシージャが終了すれば、結局クリアされる(らしい)
では、何故よく書かれるのか? 誰か権威のある人が本に書いて流行らせたのではないでしょうか? そうなると、その権威者以下のレベルの人は逆らえないです。
「寝るときはガス器具の電源を切りましょう」と消防署の人に云われたら、 「実際にガスを使っていない限り、種火も含めてガスは出ない作りになっている」 と器具の説明書にあっても、寝るとき電源を切るようにするのではないでしょうか?
(また、用心深く考えるなら、そのガス器具が設計どおり作られていない(バグ)可能性 だってありますから、ますます逆らえないです)
(半平太)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.