タイトル | : Re: Shell関数の引数の記述方法 |
記事No | : 13424 |
投稿日 | : 2009/02/09(Mon) 21:38 |
投稿者 | : 魔界の仮面弁士 |
> 現在、以下のようなコードを記述しています。 > vIEPATH(0) = ""C:\Program Files\Internet Explorer\iexplore.exe" -nohome" これだと、"" で構文エラーになってしまうでしょう。 実際のコードは、パス情報を外部データから取り込んでいるのでは無いでしょうか? もしくは、 vIEPATH(0) = """C:\Program Files\Internet Explorer\iexplore.exe"" -nohome" の書き間違いとか。
> sUDID = TEST.HTM 右辺が「"」で囲まれていませんが、これは sUDID = "TEST.HTM" の意味では無く、TEST 変数の HTM プロパティのような意味なのでしょうか?
> Shell(vIEPATH(0) & Space(1) & sUDID, 1) これも構文エラーになるでしょう。実際には Shell vIEPATH(0) & Space(1) & sUDID, 1 もしくは Call Shell(vIEPATH(0) & Space(1) & sUDID, 1) ではありませんか?
> (1) 起動する「TEST.HTM」に値を複数渡したいのですが、その記述方法。 > (2)そもそも値を渡す事が出来るのかどうか。
複数の値をTEST.HTMに渡す、という言葉の意味が分からなかったのですが、 iexplore.exe に複数の html を渡すと言う意味であれば、 vIEPATH(0) = """C:\Program Files\Internet Explorer\iexplore.exe"" -nohome" vIEPATH(1) = "C:\FOLDER1\TEST.HTM" vIEPATH(2) = "C:\FOLDER2\TEST.HTM" vIEPATH(3) = "C:\FOLDER3\TEST.HTM" For N = 1 To 3 Shell vIEPATH(0) & " " & vIEPATH(N), vbNormalFocus Next でどうでしょう。
あるいは、IE7 で複数のタブに表示させる、という意図であれば、 Const navOpenInNewTab = &H800 を Navigate させるとか。 http://bbs.kakaku.com/bbs/-/SortID=8186456/
また、ターゲットがそもそも IE では無いのだとしたら、その受け取り側の アプリの仕様次第なので、一般解はありません。相手も自作 VB6 アプリなら、 適当な区切り文字(たとえば改行)を付加して送りつけるという手もありますが…。
'== 呼び出す側(Project1.exe) == Private Sub Command1_Click() Dim sUDID(2) As String sUDID(0) = "C:\a.html" sUDID(1) = "C:\b.html" sUDID(2) = "C:\c.html"
Dim vPATH As String vPATH = "C:\Project2.exe"
Shell vPATH & " " & Join(sUDID, vbCrLf), vbNormalFocus End Sub
'== 受け取る側(Project2.exe) == Private sUDID() As String Private Sub Command1_Click() Text1.Text = Command() sUDID = Split(Command(), vbCrLf) End Sub
|