- ベストアンサー
ネットからサンプルコードを取得した結果、なぜlngTaskIDは数値型なのか?
- ネットからサンプルコードを取得したところ、lngTaskIDは数値型となっていました。しかし、なぜ数値型なのかがわかりません。
- Shell関数のヘルプを調べると、バリアント型を返すと書かれていますが、具体的な理由がわかりません。
- Debug.Print lngTaskIDで取得した数値はランダムなものでした。それらの数値がどのような意味を持つのかが気になります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- VBAでフリーソフトを起動する事は可能でしょうか?
Sub Sample1() Dim rc As Long rc = Shell("notepad.exe", vbNormalFocus) If rc = 0 Then MsgBox "起動に失敗しました" End Sub でメモ帳は開けるのですが、 QR Code Editorというソフトを入れていて、 それをVBAで開きたいのですがどうすればいいでしょうか? QR Code Editorは、 "C:\Program Files (x86)\Psytec\QR Code Editor\PsQREdit.exe" に入っています。 Sub Sample1() Dim rc As Long rc = Shell("PsQREdit.exe", vbNormalFocus) End Sub にすると、ファイルが見つかりません。 (Error 53)になってしまいます。 ご教授よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- メモ帳を好きな位置で開くには?
Sub Sample() Dim i As Long i = Shell("notepad.exe", vbNormalFocus) End Sub このコードだと、多分前回開いた時と同じ位置・大きさで開いてしまうのですが、 Sub Sample() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Top = 0 objIE.Left = 0 objIE.Width = 500 objIE.Height = 500 Set objIE = Nothing End Sub のように、サイズを指定して開く方法はありますか? メモ帳に限らず、Shell関数を使ってアプリケーションを開くときに サイズや位置を指定する方法を教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAで外部ソフトFFFTPを操作(2)
「FFFTPを立ち上げて、ホスト一覧からサイト名を選んで接続」 この作業をエクセルVBAで行いたいと前回質問した者です。 http://okwave.jp/qa/q7596470.html そこで、 Sub Sample1() Dim rc As Long rc = Shell("C:~\FFFTP.exe"-s サイト名", vbNormalFocus) If rc = 0 Then MsgBox "起動に失敗しました" End Sub この書き方で、成功したのですが、エクセルSheet1、A1のセルにサイト名があるとして、サイト名のところにA1セルを入れるにはどのように書けばいいのでしょうか? rc = Shell("C:~\FFFTP.exe"-s (ここにA1のセルを入れたい)", vbNormalFocus) VBAがほとんど分からず苦労してます。どなたか教えていただけないでしょうか?
- ベストアンサー
- オフィス系ソフト
- GetWindowText、GetActiveWindowについて
こんばんは。よろしくお願いします。 まずは以下をご覧ください。 Excel VBA です。 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Sample() Dim rtn, rtn2 As Long Dim Name As String Dim Leng As Long Dim ReturnValue ReturnValue = Shell("CALC.EXE", 1) AppActivate ReturnValue Sleep 500 Name = String(250, Chr(0)) Leng = Len(Name) rtn = GetActiveWindow() rtn2 = GetWindowText(rtn, Name, Leng) Debug.Print Name End Sub これを実行しても、イミディエイトウインドウに「電卓」は出ません。 エラーもありません。 なぜなのでしょうか?
- ベストアンサー
- Visual Basic
- Windows Script Hostは、スクリプ
Windows Script Hostは、スクリプト言語なのでしょうか? Sub Sample() Dim WSH As Variant Set WSH = CreateObject("Wscript.Shell") Debug.Print WSH.SpecialFolders("Favorites") Set WSH = Nothing End Sub このようなコードでVBAでWSHを使っていますが WSHが何なのかわからないまま使っています。
- ベストアンサー
- Visual Basic
- 開いたときの位置を指定する事は可能ですか?
Sub Sample() Dim myFile As String myFile = "C:\Program Files (x86)\" Shell "C:\Windows\Explorer.exe " & myFile, vbNormalFocus End Sub これでフォルダを起動させているのですが 開いたときの位置を指定する事は可能ですか? TOP=0 など、IE操作の様に画面に対する位置を指定したいのですが どうすればいいでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでPDFを開く
以下のような記述でアクロバットリーダーは立ち上がるのですが、 「この文書を開くときにエラーが発生しました。このファイルが見つかりません」 と出てきてしまいます。 どのようにしたら開いてくれるのでしょうか? Sub test3() Dim P As String P = "\\C:\AAA\sample.PDF" Shell "C:\Program Files\Adobe\Reader 11.0\Reader\AcroRd32.exe" & " " & P, vbNormalFocus End Sub
- ベストアンサー
- Excel(エクセル)
- 空白が必要な理由を教えてください。
http://okwave.jp/qa/q5024766.html を参考にVBAでフォルダを開いたのですが 一つ疑問があります。(素朴な疑問です) Sub OpenFolders() Dim targ As String targ = "C:\" Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus '空白あり End Sub のコードは 「Shell "C:\Windows\Explorer.exe "」のexeの右隣に空白が入りますがなぜでしょうか?? Shell関数を使う場合は、空白を入れるのですか? Shell "C:\Windows\Explorer.exe" & targ, vbNormalFocus '空白なし としたらエラーになりました。 ご教授よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 新規にメモ帳を起動して、「test」と入力したい
新規にメモ帳を起動して、「test」と入力したいです。そして保存はしたくないです。 Sub Sample() Dim rc As Long rc = Shell("notepad.exe", vbNormalFocus) End Sub これだと、新規にメモ帳は起動できますが、書き込みができません。 Sub Sample2() Dim strList As String Dim adoSt As ADODB.Stream Set adoSt = CreateObject("ADODB.Stream") With adoSt .Type = adTypeText .Charset = "UTF-8" .Open End With adoSt.WriteText "test", adWriteLine adoSt.SaveToFile "c:\test.txt", adSaveCreateOverWrite adoSt.Close Set adoSt = Nothing End Sub これだとメモ帳を作成して書き込めますが、保存されてしまいます。 新規にメモ帳を起動→文字を書き込む までをvbaで行い、その後は×ボタンで消せる状態にしたいのですが、 どうすればいいか教えてください。
- ベストアンサー
- オフィス系ソフト
- Variant型で宣言してるのにEmptyになる
エクセルVBA2003について質問です。 Sub aaa1() Dim a As Variant Debug.Print TypeName(a) End Sub を実行してイミディエイトウインドウで確認すると Emptyが返ってきます。 Variantが返ってこない理由は何でしょうか? また、変数の方の宣言をしない場合は Variant型になるはずなのに Sub aaa2() Dim a Debug.Print TypeName(a) End Sub を実行すると、同じくEmptyが返ってきます。 Variantが返らない理由を教えてください。よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
ありがとうございます。