No.1ベストアンサー
- 回答日時:
試してください。
(例)
Dim wdapp As Object
Dim wddoc As Object
Dim wdpath As String
Dim wdname As String
wdname = "abc.docx"
On Error Resume Next
Set wdapp = GetObject(, "Word.Application")
Set wddoc = wdapp.Documents(wdname)
On Error GoTo 0
If wddoc Is Nothing Then Set wdapp = Nothing: Exit Sub
wdpath = wddoc.FullName
wddoc.Save
wddoc.Close
wdapp.Documents.Open FileName:=wdpath, ReadOnly:=False
Set wdapp = Nothing: Set wddoc = Nothing
この回答への補足
素早いご対応ありがとうございます。
試してみたのですが、
なぜか開いていても、なくてもExit Subで終了してしまいます。。。
wordデータのディレクトリはエクセルとは違う場所なんですが、それが原因なんでしょうか?
ちなみにExcelは2003、VBAは6.5です。
自分でも調べてみます。
No.3
- 回答日時:
立ち上げているワード(WINWORD)が一つだけなら
#1 さんの考えの方向で良いかと思いますが、
複数のWINWORDを立ち上げている場合には
GetObject は一つのインスタンスしか返しません。
http://support.microsoft.com/kb/288902/ja
タスクマネージャのプロセスタブで見た時に
一番目のWINWORD
二番目のWINWORD
が有った時に二番目が欲しくても一番目が消えてくれないことには
二番目をGetできません。
Getobject(,"word.application") で欲しい方が得られたらラッキーです。
すべてのWINWORDを閉じるのなら比較的簡単に出来るでしょうけど
開いているかもしれないワードファイルを狙い撃ちして
保存・終了するのは、APIを駆使してやることになるので
大変だと思います(私にはそこまでのスキルは有りません)。
開いていたら警告するだけでしたら
ファイルを同名でリネームしてそのエラー内容によって判断すれば・・と思います。
Name "e:\あのワード.doc" as "e:\あのワード.doc"
エラーが返ってこなければ誰も使用していません。
ファイルを開いていた時に
当方のWindows7 & Office2010 では
『実行時エラー75 パス名が無効です』
不適切・不親切なエラーメッセージが出ました。
ファイルが無い・Pathが間違っている場合などにはチャンと
エラー53 ファイルが見つかりません
となるのですけどねー。
ありがとうございます!
教えていただいた内容を取り入れ、しっかり動くようになりました!
リネームで判断する方法は知らなかったので
勉強になりました!
ありがとうございます!
No.2
- 回答日時:
>No.1 この回答への補足
補足になっていません。
どんな状況で動かしましたか?
Wordドキュメントは開いていますか?
取りあえず
abc.docx
としていますが
正しい名前に書き変えましたか?
回答したコードそのままで動かしましたか?
一部書き換えましたか?
テストするときは
On Error Resume Next
を外してテストしてみてください。
エラーが出たら内容と発生行を教えてください。
返信が遅くなりすいませんでした。
そして、無事に動くことができました。
私のミスでした。
wordの拡張子が.docと.docxで違っていた為、
開いていても、閉じていても終了していました。
本当に申し訳ありません!!
ありがとうございました!!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのウィンドウが少し小さく、ズレて立ち上がります 1 2022/06/27 16:25
- Excel(エクセル) ExcelのVBAでWordを読み取り専用で開いて、見たいページに自動で移動する方法を教えて頂きたい 4 2022/07/27 10:39
- その他(Microsoft Office) Windows Update 後、Office2019(Word、Excelなど)が消えた 4 2023/01/14 10:28
- PDF PDF印刷後に「変更を保存しますか?」と訊かれる 2 2023/04/28 17:35
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- その他(Microsoft Office) Wordを開くと「学校アカウントがアクティブではなくなりました。」と出てくるのですが、この場合でもW 1 2022/07/14 15:03
- Word(ワード) Wordで文書打っているとき、→と打って、そのまま保存して、閉じました。 開くとき、なぜか1と変換さ 2 2023/05/14 22:29
- その他(Microsoft Office) PCを買い換えました。 今使っているノートパソコンが10年以上使っており新しく買い換えました。Win 5 2023/03/26 00:18
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
おすすめのモーニング・朝食メニューを教えて!
コメダ珈琲店のモーニング ロイヤルホストのモーニング 牛丼チェーン店の朝食などなど、おいしいモーニング・朝食メニューがたくさんありますよね。
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
EXCELのVBAでWORDが開いてあるかチェック
Excel(エクセル)
-
ExcelのVBAでWordを読み取り専用で開いて、見たいページに自動で移動する方法を教えて頂きたい
Excel(エクセル)
-
VBAで既に開いている別アプリケーションのオブジェクトを得る
Visual Basic(VBA)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
ワードからエクセルへ貼り付けるマクロ
Excel(エクセル)
-
6
Excel VBA でファイルが開かれているか確認する
Excel(エクセル)
-
7
Word のVBAについて初心者なのですが、質問があります。
Word(ワード)
-
8
バックグラウンドのプロセスのエクセルを閉じる方法
Visual Basic(VBA)
-
9
Vba アプリケーションが立ち上がるまで待つ
Excel(エクセル)
-
10
ワードのマクロで段落番号(文字も含む)取得ってできますか
Word(ワード)
-
11
Word VBA。各マクロの間に待ち時間を指定するには?
Word(ワード)
-
12
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
13
VBAにてメッセージボックスを最前面に表示させる
その他(プログラミング・Web制作)
-
14
Wordマクロ、選択した複数行を1行ずつ読み込みたい
Word(ワード)
-
15
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
16
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
17
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
-
18
エクセルマクロでワードの一ページ目をコピーして新たに二ページを追加して、一ページ目の内容を貼り付ける
Visual Basic(VBA)
-
19
Excel VBAでWordの複数ファイルを統合する場合のエラーについて教えてください
Visual Basic(VBA)
-
20
Access VBA [リモートサーバーがないか使用できる状態ではありません]
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPの送信結果を検知したい
-
Returnに対するGoSubがありません
-
エクセルマクロでエラーの原因...
-
PowerShellを使って関連付けら...
-
VBでファイルが開かれているか...
-
batファイルでレジストリキーの...
-
「パス名が無効です」の発生原因
-
「複数の選択範囲に対して実行...
-
VB:「実行時エラー53 実行ファ...
-
gccを行ってもexeファイルが生...
-
VBから参照できないCのDLLを使...
-
access テキストボックスの値取得
-
cube PDFについて
-
ExcelVBAで既に開いてるwordを...
-
fgets関数のEOFの扱い方について
-
VBAのChangeFileOpenDirectory...
-
Request.BinaryReadでのエラー
-
ワークブックに名前をつけて保...
-
ファイルクローズ(fclose)でエ...
-
マウントしたファイルサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「パス名が無効です」の発生原因
-
access テキストボックスの値取得
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
gccを行ってもexeファイルが生...
-
batファイルでレジストリキーの...
-
NAS上のファイルの使用中が解除...
-
PowerShellを使って関連付けら...
-
FTPの送信結果を検知したい
-
エクセルマクロでエラーの原因...
-
「複数の選択範囲に対して実行...
-
VBでファイルが開かれているか...
-
アクセスのクエリでコンパイル...
-
fgets関数のEOFの扱い方について
-
Vba ファイル書き込み時に書き...
-
VB6 Dir関数で52エラー発生
-
VBA ExecuteExcel4Macro 型が一...
-
【COBOL】read文でエラー
-
EXCELのVBAでWORDが開いてある...
-
Access2013にてドラッグ&ドロ...
おすすめ情報