- ベストアンサー
ワードの空のアプリケーションを開く方法とSet wdObj = Nothingの意味
- ワードの空のアプリケーションを開く方法とは、マクロを使用して新しいWordアプリケーションを作成して表示することです。Set wdObj = Nothingは、作成したWordアプリケーションのインスタンスを破棄するために使用されます。
- Set wdObj = Nothingは、作成されたWordアプリケーションのインスタンスをメモリから解放し、リソースを解放します。これにより、プログラムの実行中にメモリリークが発生するのを防ぐことができます。
- ただし、ワードのアプリケーションがタスクマネージャーに表示され続けるのは、ワードがバックグラウンドで動作しているためです。ワードを閉じると、タスクマネージャーから消えます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- okormazd
- ベストアンサー率50% (1224/2412)
関連するQ&A
- なぜ立ち上げた時はアクティブになら何でしょうか?
VBAで Sub Sample() Dim wdObj As Word.Application Set wdObj = New Word.Application wdObj.Visible = True Set wdObj = Nothing End Sub でワードを立ち上げる事は出来るのですが アクティブになりません。 AppActivate wdObj を入れる事でアクティブになるのですが なぜ立ち上げた時はアクティブになら何でしょうか? VBEが面からF5を押して実行しているから VBE画面がアクティブになってしまっているのでしょうか?
- ベストアンサー
- その他MS Office製品
- NewはCreateObjectと同じ意味?
Sub test01() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True End Sub Sub test02() Dim objIE As New InternetExplorer objIE.Visible = True End Sub この二つのコードを比較した場合、 Dim objIE As New InternetExplorer で宣言すれば、 Set objIE = CreateObject("InternetExplorer.application") がなくても、 objIE.Visible = True をしてみるとブラウザが立ち上がっているのですが、 これは NewはCreateObjectと同じ意味という事でしょうか?
- ベストアンサー
- Excel(エクセル)
- AccessVBAからWordのマクロを実行するには
[環境]Access2000,Word2000 AccessVBAでWordのオブジェクトをつくりファイルを開くところまでは たどり着いたのですが、開いたWordファイルにあるマクロを実行させる ことが出来ずに困っています。 WordオブジェクトのApplicationとDocumentsオブジェクトの関係も把握 しきれていないため、おかしなソースになっているかも知れません。 よろしくお願いします。 sub DoMacro() Dim oWrd as Word.Application Dim oDoc as Word.Document Set oWrd = New Word.Application With oWrd Set oDoc = oWrd.Documents.Open("c:\test.doc") .Visible = True .Application.Run ("Macro1") oDoc.SaveAs "c:\newTest.doc" .Quit End With End Sub
- ベストアンサー
- オフィス系ソフト
- VBAでIE操作をするサンプル
VBAでIE操作をするサンプルをネットでいくつか見ているのですが Sub Sample1() Dim objShell As Object Dim objIE As New InternetExplorer Set objShell = CreateObject("Shell.Application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing Set objShell = Nothing End Sub Sub Sample2() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub ではどちらを使った方がいいのでしょうか? 圧倒的にSample2の方がネットでは多いのですが Sample1のやり方もあることを知りました。 Sample1の方法でブラウザを開くメリットはあるのでしょうか?
- ベストアンサー
- Visual Basic
- 「オブジェクトの破棄」と「メモリの解放」は同じ意味
「オブジェクトの破棄」と「メモリの解放」は同じ意味ですか? ********************************* Sub Sample1() Dim objIE As Object Dim buf As String Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.navigate "http://oshiete.goo.ne.jp/" Do While objIE.busy DoEvents Loop Do While objIE.Document.readyState <> "complete" DoEvents Loop Set objIE = Nothing End Sub ********************************* の場合の「Set objIE = Nothing」は、 「オブジェクトの破棄」でしょうか? 「メモリの解放」でしょうか? どちらでもありますか? ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- アクセスからアクセスファイルを開くには?
アクセスからアクセスファイルを開きたいのですがうまく出来ないので教えてください。 Option Compare Database Option Explicit Sub test() Dim App As Access.Application Dim MyFileName As String Set App = CreateObject("Access.Application") MyFileName = CurrentProject.Path & "\アクセスファイル名.mdb" With App .Visible = True End With Set App = Nothing End Sub で、 .Visible = True でアプリケーションは開きますが Set App = Nothing を通過すると開いたアプリケーションが閉じてしまいます。 それにアプリケーションが開くだけで肝心のファイルが開かれません。 なので「.ファイルを開くVBAコード」が必要だと思うのですがそのコードがわかりません。
- ベストアンサー
- オフィス系ソフト
- 複数のタブを開きたい IE
IE9を使っています。 画像のようにタブを二つ開くにはどうすればいいでしょうか? Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub だと一つのタブしか開けません。 Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate2 "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても1つのタブしか開けないです。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- メッセージボックスを前面に表示させるには?
Sub 教えて() Dim ExAp As Application Dim ExBk As Workbook Dim ExSh As Worksheet Set ExAp = CreateObject("Excel.Application") Set ExBk = ExAp.Workbooks.Add Set ExSh = ExBk.Worksheets(1) ExAp.Visible = True ExAp.WindowState = xlMaximized ThisWorkbook.Worksheets(1).Activate MsgBox "前面表示させたいお!" Set ExAp = Nothing Set ExBk = Nothing Set ExSh = Nothing End Sub これを実行するとメッセージボックスが隠れてしまいます。 どうしたらよいでしょうか?
- ベストアンサー
- Visual Basic
- これは実行中のVBEコードのイミディエイトウイント
Sub Sample() Dim WD, task, n As Long Set WD = CreateObject("Word.Application") 'Wordを起動します For Each task In WD.Tasks 'Word VBAのTasks'コレクションを調べます If task.Visible = True Then ' タスク(プロセス)が実行中だったら Debug.Print task.Name ' タスクの名前を書き出します End If Next WD.Quit Set WD = Nothing End Sub これを実行すると 結果に イミディエイト も含まれるのですが、 これは実行中のVBEコードのイミディエイトウインドウのことを言っているのでしょうか?
- ベストアンサー
- その他MS Office製品
- CreateObjectとGetObjectの違い
当方エクセル2003です。 Sub test_CreateObject() Dim App As Excel.Application Dim MyFileName As String Set App = CreateObject("Excel.Application") MyFileName = ActiveWorkbook.Path & "\新規Microsoft Excel ワークシート.xls" With App .Workbooks.Open FileName:=MyFileName .Visible = True End With Set App = Nothing End Sub --------------------------------------------------------- Sub test_GetObject() Dim App As Excel.Application Dim MyFileName As String Set App = GetObject(, "Excel.Application") MyFileName = ActiveWorkbook.Path & "\新規Microsoft Excel ワークシート.xls" With App .Workbooks.Open FileName:=MyFileName .Visible = True End With Set App = Nothing End Sub この二つは何が違うのでしょうか? どちらも既存のエクセルファイルがが開きます。
- ベストアンサー
- オフィス系ソフト
お礼
どうもありがとうございました。