
VBScriptでエクセルを開き、
そのエクセルにテキストを書き込んでセーブしてから閉じる。
という処理を行っているのですが、
テキストを書き込んでいる間に、エクスプローラー上で別のエクセルファイルを開こうとすると、VBScriptで開いている同じエクセルアプリケーションで開いてしまい、
VBScriptのセーブしてから閉じるという処理が走ると、同様に閉じてしまいます。
希望としては、
テキストを書き込んでいる間に、エクスプローラー上で別のエクセルファイルを開こうとすると、別エクセルアプリケーションが開き、VBScriptとは、別として動作してほしいと考えていますが、
私の至らぬ知識ですとどうしても解決できません、ご協力をお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは。
>VBScriptでエクセルを開き、そのエクセルにテキストを書き込んでセーブしてから閉じる。
これ自体、VBScriptのコードがきちんと書かれていれば、何の問題もないはすです。
だいたい、VBScript を使うということは、タスクで一定の時間に、自動実行しているということだと思います。コードを出してみたらどうですか?「テキストを書き込んで」の意味が良く分かりません。
オートメーション・オブジェクトで開いたブックは、エクスプローラーでダブルクリックで開いたExcelとは、別の動作をします。ただし、そのブックは、セキュリティが利きませんので、自己管理が必要です。
No.1
- 回答日時:
『セーブしてから閉じる』時に、.Workbooks.Countが2以上だったら該当Bookだけ閉じて、
Excelは閉じないようにすれば良いような気がしますが、
表示されたExcelでユーザー操作されてしまうとエラーが出たりする状況なのでしょうか?
その場合、ExcelをSDIで使うように設定を変える方法も考えられますが、
コード実行ごとにレジストリを弄くるのもちょっと...って感じですね。
なので
処理中に.Workbooks.Countをチェックして
bookが開かれたらフルパスを記憶した上で閉じて、新規プロセスのExcelで開き直す。
...みたいな方向性ではどうでしょう。
If xlApp.Workbooks.Count > 1 Then
With xlApp.Workbooks
With .Item(.Count)
newFile = .FullName
.Close False
End With
End With
If IsEmpty(xlApp2) Then
Set xlApp2 = CreateObject("excel.application")
xlApp2.Visible = True
End If
xlApp2.Workbooks.Open newFile
End If
凡そこんなイメージ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの中身をリセ...
-
VB6.0 でメニューを作りたいん...
-
ACCESSフォームで、入力から一...
-
VB.NETでパラメータクエリを使...
-
Excelのマクロについて!早急で...
-
RPG(AS400)の本、サイトってあ...
-
アクセスのフォームから検索を...
-
Flashで恋愛ゲームを作りたいの...
-
photoshopで書いた四角の枠の中...
-
VBScriptでMsgBoxのYesNoボック...
-
else if文の順序を変えることに...
-
四乗根を英語で言うと・・・
-
ADに参加していないPCからADサ...
-
static関数がmapファイルに載ら...
-
VBAで改行の入ったデータの正規...
-
シンボル化解除の方法
-
画像を一定時間ごとに切り替え...
-
画像の外部読み込みについて
-
【Photoshop】レイヤー効果の境...
-
ダブルクリックと2回クリックの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスの中身をリセ...
-
変数に256文字以上のテキストを...
-
全てのテキストボックスをセル...
-
テキストボックスにセルの値を...
-
別のアプリケーションのテキス...
-
jTextAreaのカーソル操作について
-
POIでのテキストボックス作成に...
-
外部ファイルから取得したデー...
-
VB6.0 でメニューを作りたいん...
-
Flashにサイトを表示させたい
-
右クリックでデータの取り込み...
-
テキストが変更されたとき
-
HP作成中。一度訪れたページを...
-
ただただ無駄な
-
AccessVBA SQL テキスト型は...
-
VBScriptでエクセルを開き、
-
HTMLのtextbox類に文字を残す
-
時計の:を点滅させたい
-
MFCのスタティックテキストのコ...
-
ゲームの結果表示について
おすすめ情報