• 締切済み

指定のフォルダをエクスプローラーで開く

解る方、教えて下さい。 リンクでなく、INPUT TYPE=SUBMIT ボタンにて 指定のフォルダを新しい別ウィンドウにてエクスプローラーにて開く方法(VBスクリプトにて)を教えて下さい。 (例) DIM FOLDERNAME If Request.Form("FOLDERINQ") <> "" Then FOLDERNAME = "\\サーバー名\フォルダー名" 'エクスプローラーを開く (ここにどう書くのかが解りません。) END IF 宜しくお願い致します。

みんなの回答

回答No.3

>ボタンを押したタイミングでクライアント側もサーバー側もエクスプローラーは表示されていません うみゅ? どこでも実行されていないのではないですか? #1の補足より >そのまま構文を入れて処理しましたが、エクスプローラーが表示されず(エラーにもなりません) どこかで実行されたら、その実行したマシンで立ち上がると思うのですが。 #1で書いた内容のスクリプトをが走るかどうかを見極めなければいけませんね。 まず、ブラウザで表示して、「ソースを表示」させたときに、そのスクリプトが実行される経路をがあるかを追わないとわかりません。

IKEHIRO
質問者

お礼

自分なりにやってみましたがダメでしたので、 ユーザーに勘弁してもらいました。 ご対応有難う御座いました。

回答No.2

>エクスプローラーが表示されず(エラーにもなりません)画面上、何の変化もありません。 まさかとは思いますが、 そのエクスプローラーが表示されるタイミングで、クライアントPCではなく、サーバ側のエクスプローラが立ち上がりませんでしたが?

IKEHIRO
質問者

補足

サポート有難う御座います。 確認しましたが、ボタンを押したタイミングでクライアント側もサーバー側もエクスプローラーは表示されていません。 お手数をお掛けします。

回答No.1

set objWSH = CreateObject("WSCript.Shell") call objWSH.Run ("explorer.exe " & FOLDERNAME,1,0) set objWSH = nothing

IKEHIRO
質問者

補足

早速の回答有難う御座います。 そのまま構文を入れて処理しましたが、 エクスプローラーが表示されず(エラーにもなりません)画面上、何の変化もありません。 実際にはIF文の中にフォルダを作成する構文が書かれていますが、 処理後、そのフォルダは作成されているのでIF文内を通っている事は間違いないのですが・・・ まだ何か足りないのでしょうか?

関連するQ&A

  • どのボタンが押されたかによって処理をする

    解る方、教えて下さい。 例えば、<form>内に、 <input type="submit" value="合計照会" name="GOUKEI"> <input type="submit" value="詳細照会" name="MEISAI"> と2つボタンがあり、合計照会のボタンが押されたらVBスクリプトで処理をする為の, IF文 の変数をどう指定すればよいのかがわかりません。 (下記の % をどう指定するばよいのかがわかりません。) IF %%%%%%% = %%% THEN GOTO END END IF それともこの様な文ではダメなのでしょうか? 宜しくお願い致します。

  • ダイレクトに目的のフォルダを指定する方法は?

    全てのフォルダをループするのではなく、 ダイレクトに目的のフォルダを指定する方法はありますか? アクセスからアウトルックの該当のフォルダの中身を取得したいのですが 下記コードで目的通り取得できるのですが コードが遠回りの気がします。 ダイレクトにフォルダを指定する方法があれば教えてください。 Sub test() Dim myNaSp As Namespace Dim myFolder As MAPIFolder Dim mySecFolder As MAPIFolder Dim myThrFolder As MAPIFolder Dim FolderName As String Dim myItem As MailItem Dim myindex As Long Set cn = CurrentProject.Connection Set myNaSp = GetNamespace("MAPI") For Each myFolder In myNaSp.GetDefaultFolder(olFolderInbox).Folders For myindex = 1 To myFolder.Items.Count Set myItem = myFolder.Items(myindex) If myFolder.Name = "testフォルダ" Then Debug.Print myItem.Body End If Next Next Set myNaSp = Nothing Set myFolder = Nothing End Sub

  • セッション

    セッションについて教えて下さい。 指定のID、パスワードでログインしようと思っています。 ソースを記載しますので、お教え下さい。 ID:aaa パスワード:111とします。 [送り側フォーム] <form action="/test2.asp" method="POST" id=form1 name=form1> <input type="text" name="id" value=""><br> <input type="password" name="passwd" value=""> <input type="submit" value="LOGIN" id=submit1 name=submit1> </form> とし、 [受け取り側、認証 test2.asp ] <% If Session("user_test") <> "1" Then Response.Redirect "/test.asp" Response.End() End If %>ここで認証を判断し、認証できなければtest.aspへもどるとし、 Dim id, passwd id = Request.Form("id") passwd = Request.Form("passwd") Session("user_login") = "id" Session("user_login") = "passwd" IF id = "aaa" and passwd = "111" THEN Session("user_test") = 1 Response.Write ("OK") ELSE Response.Write ("ちがうよ") END IF %> ID、パスワードをセッション変数にいれ、各ページで認証すると言う事をやりたいのですが、うまくいきません。 どこがわるいか、お教え下さい。 ※以前にも似たような質問をしているのですが、改善されずお手上げです。

  • GetSaveAsFilenameでフォルダを指定したいのですが?

    すいません。マクロ初心者です。 (1)以下のプロシージャで保存するときに、フォルダを指定したいのですがどこにフォルダ名を入れたらいいかわかりません。 (2)XPのエクセル2003で作成したのですが、vistaのエクセル2007で使用すると保存時に拡張子.xlsが付かずエクセルファイルになりません。 ご教授ください。 Sub シート保存2() Dim Answer3 Dim 既定ファイル名 As String Dim 保存ファイル名 As Variant Answer3 = MsgBox("本当に保存しますか?", vbYesNo) If Answer3 = vbNo Then MsgBox ("キャンセルしました。") Exit Sub End If Sheets("保存シート").Select Application.CutCopyMode = False Sheets("保存シート").Copy 既定ファイル名 = Range("V7") & ".xls" 保存ファイル名 = Application.GetSaveAsFilename(既定ファイル名) If 保存ファイル名 = False Then MsgBox "保存は中止されました。" ActiveWorkbook.Close (False) Else ActiveWorkbook.SaveCopyAs 保存ファイル名 ActiveWorkbook.Close (False) End If End Sub よろしくお願いします。

  • 複数のフォルダから指定するファイルをコピー

    こんばんは。宜しくお願いします。 ◇行いたいこと 複数のフォルダ(例:"D:\AB" "D:\CD" "D:\EF")に格納されているファイルの中から指定した 日付を含んだファイルをコピーし、あるフォルダに張り付けたい。 (指定する日付を含んだファイルがすべてのフォルダに存在するとは限らない) ◇現時点でのソース ※エラー処理の未実装部分については無視していただいてけっこうです。 Dim fs Dim msg Dim f Const copyFrom = "D:\AB" Const copyTo = "D:\VBS\コピー先\" Do '日付入力のインプットボックスを出力 hizuke = InputBox("日付を入力してください。" & vbCr & vbCr & "例)2000-01-01") 'インプットボックスの入力値が空白である If hizuke = "" Then '日付入力を促すメッセージ出力 MsgBox "日付を入力してください。" Exit Do End If 'インプットボックスの入力値が10文字である If Len(hizuke) = 10 Then 'エラーが発生しても次の処理をすすめる On Error Resume Next '指定した日付の確認ダイアログを表示 msg = MsgBox(hizuke & "でよろしいですか?", vbYesNoCancel) '日付の確認ダイアログでYesを選択 If msg = vbYes Then 'ファイルオブジェクトを作成 Set fs = CreateObject("Scripting.FileSystemObject") 'コピー元フォルダに存在するファイルを読み込む For Each f In fs.GetFolder(copyFrom).Files '指定した日付を含むファイル名を検索 If InStr(f.Name, hizuke) > 0 Then '未実装 ファイルの上書き処理 fs.CopyFile 'コピー元 コピー先 Exit Do '未実装 Else Ifの処理 End If Next '未実装 Else Ifの処理 End If '未実装 Else Ifの処理 End If Loop 以上です。ご教授宜しくお願いします。

  • ExcelVBA どこが間違えていますか?

    ExcelVBA 初心者です。 下記のようなプロシージャを人様の作ったのをコピーして作ったのですが意図したとおりになりません。どこが間違っているのか教えてください。 私の意図は選択したフォルダの中の全ファイル(Book)名をアクティブシートのA列に順番に表示したい、です。今は実行すると全部セルA1に表示されてしまって、最後の1つのファイル名しか分かりません。ファイルごとに別のセルに表示したいのです。よろしくお願いします。 Sub ファイル一覧() Dim foldername As String Dim filename As String Dim i As Integer Dim dlg_folder As FileDialog Set dlg_folder = Application.FileDialog(msoFileDialogFolderPicker) Folder_Dialog: dlg_folder.Show If dlg_folder.SelectedItems.Count <> 1 Then Exit Sub Else foldername = dlg_folder.SelectedItems.Item(1) MsgBox "選択したフォルダは " & foldername & " です。" filename = Dir(foldername & "\*.xls", vbNormal) If filename = "" Then MsgBox "Excelファイルがありません。" GoTo Folder_Dialog End If End If Set dlg_folder = Nothing Do While filename <> "" For i = 1 To Workbooks.Count Cells(i, 1).Value = filename i = i + 1 Next i filename = Dir() Loop MsgBox "フォルダ " & foldername & " の中のファイルはすべて表示されました。" End Sub あれ、なぜかインデントが無効になっています。

  • EXCEL→CSV形式で別ファイルに保存

    EXCELデータ内のある1つのシートのデータをそのまま別ファイル(CSV)に保存したいのですがうまくいかないので教えてください。 本を見ながらこのようなマクロを作ったところ、EXCEL(○○.xls)の指定したシート(keihi)のみをCSV形式で別フォルダ(C:\経費振替)に保存することができたんですが、 元のEXCELも、ファイル名称・形式がCSV(○○.xls→keihi.csv)に変わってしまいます。 エクセルのファイル名、形式は変えずにできる方法ってありますか?? Sub データはきだし() Dim Ret As String Dim Res As Integer Dim FolderName As String Set WK1 = Worksheets("1 依頼書") Set WK4 = Worksheets("keihi") FolderName = "C:\経費振替" Ret = Dir(FolderName, 16) If Ret = "" Then Res = MsgBox("DATA保管用フォルダを作成します。", vbYesNo) If Res = vbYes Then MkDir FolderName End If End If ' Dim Res2 As Integer Res2 = MsgBox("DATAを作成します。", vbYesNo) WK4.Select If Res2 = vbYes Then With WK4 .SaveAs Filename:=FolderName & "\keihi", FileFormat:=xlCSV ←多分ココが何か間違ってるのだと思うんですが。 End With

  • 押下ボタンによってSubmit先を変えたい・その2

    つい先日、解決ソースを頂きましたuinonaです。 教わったソースを試した所、SubmitボタンにNameを付けているのに、 何も入っていないんです。(押されたボタンを受信側で判別出来ない) SubmitのName属性さえ付ければ複数Submitボタンの判別は可能なはずなのに、 なぜなのでしょうか?なにか設定等あるのでしょうか?またまた困ってしまいました。 ご回答の程よろしくお願いします。 <!-- aaa.asp --> <form action="aaa2.asp" method="post"> <input type="hidden" name="field" value="test"> <input type="submit" name="btnQ" value="Q"> <input type="submit" name="btnZ" value="Z"> </form> <!-- aaa2.asp --> <% If Len(Request.Form("btnQ")) > 0 Then ←※ Server.Transfer "bbb.asp" Else Server.Transfer "ccc.asp" End If %> ※"btnQ"を押下しているのにLen(Request.Form("btnQ"))=0なんです・・

  • ASP.NET SJIS→UTF-8文字コード変換。

    ASP.NETをVBで開発しています。 無償の ASP.NET ホスティング 「WebMatrixHosting Japan」で実行しています。 表題の件ですが、シフトJISのHTMLページから UTF-8のASPXページへPOSTした時に、文字化けすることで困っています。 シフトJISの値をUTF-8に変換できる方法をご存知の方、教えてください。お願いします。 ASCII文字は問題なく実行できます。 以下検証中のコードです ファイル名:SJIS.htm <form action="UTF-8.aspx"> <input type="text" name="username"> <input type="submit"> </form> ファイル名:UTF-8.aspx Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load IF request.form("username") <> "" THEN DIM strIn AS String = request.form("username") Dim bytesData As Byte() = System.Text.Encoding.GetEncoding("shift_jis").GetBytes(strIn) Dim outPut As String = System.Text.Encoding.GetEncoding("UTF-8").GetString(bytesData) Literal1.Text = outPut END IF End Sub

  • チェックボックスの使い方

    VBスクリプトでよくわからないところがあるので教えてください。たくさんのチェックボックスがあるので、For i To ~Next の構文を使って効率よくチェックされたものだけSQLの構文に取り入れて検索しようとしたのですがうまくゆきません。どのようにしたらよいでしょうか。 今試してみたのは、検索条件の設定画面で、 <input type=checkbox name=tatemono(0) value=自社使用>自社使用 <input type=checkbox name=tatemono(1) value=事業用>事業用 <input type=checkbox name=tatemono(2) value=電算センター >電算センター というようなチェックボックスを 検索処理用ページで SQL="SELECT * FROM [データ] " 'チェックボックスのチェック数が0でなければWHERE文をいれるflagをTrueにしておく If Request.Form("tatemono").Count>0 Then SQL=SQL & "WHERE " flag=True End If 'チェックボックスを最初から調べてチェックされていたらその項目がyesになっているという条件をSQL文に追加する For i=1 To Request.Form("tetemono").Count If Request.Form("tatemono")(i)<>"" Then fldname=Request.Form("tetemono")(i) If flag=True Then SQL = SQL & "AND" Else SQL = SQL & "WHERE" End If SQL= SQL & fldname & "=Yes" End If Next とやってみたのですが、ぜんぜん駄目みたいです。 根本的にどこか間違ってますよね・・・。 直すところを教えてください。 お願いします。

専門家に質問してみよう