業務上VBによりプログラムを組む場合があるのですが、わけあって「ファイル名を指定して実行」をShell関数で呼び出そうと思っています。
そこでこのスタートメニューの「ファイル名を指定して実行」の本体(EXE)ファイルの名称御存じの方いらっしゃいませんか?
直接APIからでも結構です。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

え?真偽は定かではないですが、


それってエクスプローラの一部ではないのかな?
単に文字列を入力させてShell関数で実行しているだけではないんじゃないのでしょうか?

逆に目的がそれなら、そのとおりにすれば達成できますよね。

それとも、入力方法に、参照とか、前回値記憶とかさせたいのでしょうか。

ようは、同じような画面をつくって、参照ボタンも容易して、ファイルオープンのAPIを実行すれば良いと思いますが??

前述のエクスプローラの一部だとすると、呼び出すのは厄介だと思います。
もし、DDEコマンドが公開されていたら、それによってアクセスするのではないかと思います。
    • good
    • 0
この回答へのお礼

そうですね、考えがあさはかでした。
もしかしたらAPIで・・・と思っていたんですが。
やっぱりそれぞれのソフトをShell等で扱う方がはやいですよね。
御意見ありがとうございました。

お礼日時:2001/04/16 14:39

そのものズバリの記事がVBマガジンに載ったことがあります。



keeさんが想像の通り、あのウィンドウの持ち主プロセスは
Explorer.exe です。

参考URL:http://www.galliver.co.jp/writing/susume_vb/tre9 …
    • good
    • 0
この回答へのお礼

URL御提供有難うございました。

お礼日時:2001/04/16 14:41

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qフォルダ内で、一致するファイル名の数を表示してフォルダ名を修正してくれるソフト

 はじめまして。
 ベクターでソフト探したのですが見つかりませんでした。知っている方いらっしゃいましたらお願いします。

○やりたいこと
1、フォルダ内でファイル名を検索(例えばyoshioフォルダ内の「出張」)
2、条件に当てはまるファイル数を表示(△○件)
3、そのフォルダ名を変更(yoshioのフォルダ-△○)

 ファイルをリストで表示するソフトは見つけられましたが、検索式に当てはまるファイル数を表示させて、そのフォルダ名を変更するようなソフトがみつかりませんでした。
 フォルダ名を変えるのが難しいのであれば、せめて上記2のファイル数を表示まで行えるソフトがあれば助かるのですが、どなたかよろしくお願いいたします。

 只今、手作業でこの作業(フォルダ内で出張に関するファイルの数を調べてフォルダの名前の後に数量を表示させる)を行っていますが、ソフトで自動化できないかと思っています。フォルダ数が沢山あるうえに定期的に数の確認をしていますので、作業の軽減を図りたいと思っています。

 よろしくおねがいいたします。

Aベストアンサー

>2回目で…でエラー
すみませんm(_ _)m
ソフトを点検した時は、うまく行っていたのですが、
なぜかアップした時に、文字が変わっていました。
>if folder.Name <> folderNmae then 'フォルダ名に変更が有った時名前を変更する
の行の
folderNmae

folderName
に変更して下さい。
なぜか、aの位置が違っています??

>VBScriptのテキスト
あんまり初心者用のラーニングテキストではないのですが、サンプルプログラムや、サンプルケースが載っている本として
『WSHクイックリファレンス』オライリージャパン/発行所、オーム社発売元(3500円+税)がでています。
あと、
参考URLから以下のドキュメントがダウンロードできます。いわゆるヘルプ形式なので良いです。
結局大元のドキュメントなので、最終的にはここを確認しないといけません。
VBScript ドキュメント
Windows Script Host ドキュメント
Windows スクリプト コンポーネント ドキュメント

参考URL:http://www.microsoft.com/japan/msdn/scripting/default.asp

>2回目で…でエラー
すみませんm(_ _)m
ソフトを点検した時は、うまく行っていたのですが、
なぜかアップした時に、文字が変わっていました。
>if folder.Name <> folderNmae then 'フォルダ名に変更が有った時名前を変更する
の行の
folderNmae

folderName
に変更して下さい。
なぜか、aの位置が違っています??

>VBScriptのテキスト
あんまり初心者用のラーニングテキストではないのですが、サンプルプログラムや、サンプルケースが載っている本として
『WSHクイックリファレンス』オラ...続きを読む

QVBで「ファイル名を指定して実行」と同様の動きを再現

VB6、WindowsXP

VBのプログラムからあるフォルダを開きにいく単純なプログラムを作成しています。
通常のローカルフォルダであれば、Shell関数でExplorer.exeにパスを渡すだけで問題ないのですが、うまくいかないのは、
開きにいくパスがネットワークパス(\\[サーバ名]\[共有名])の場合で、サーバーにアクセスするのに認証が必要となる場合です。

ファイル名を指定して実行に「\\[サーバ名]\[共有名]」を打ち込んで実行した場合は、Windowsが出してくる認証ダイアログ(ユーザ名、パスワードを聞いてくる)が表示されて、ユーザーが正しいID、パスワードを入力すれば、エクスプローラで共有フォルダが開きます。
この動きがまさにやりたいことなのですが、
Shell関数を使用した場合、引数に「Explorer.exe \\[サーバ名]」と指定した場合はファイル名を指定して実行と同じなのですが、
「Explorer.exe \\[サーバ名]\[共有名]」を指定した場合、認証ダイアログが表示されずにエラー(ディレクトリが無効というような)となってしまいます。おそらく先にサーバ認証を行わずに直接共有を見に行ってしまって存在が掴めないのだと思います。

VBでファイル名を指定して実行と同様の動きを再現する方法をどなたかご存知ないでしょうか?
尚、shellexecuteやVB.NETでprocess.startなどでもやってみましたがshell関数と同じ動きでした。

VB6、WindowsXP

VBのプログラムからあるフォルダを開きにいく単純なプログラムを作成しています。
通常のローカルフォルダであれば、Shell関数でExplorer.exeにパスを渡すだけで問題ないのですが、うまくいかないのは、
開きにいくパスがネットワークパス(\\[サーバ名]\[共有名])の場合で、サーバーにアクセスするのに認証が必要となる場合です。

ファイル名を指定して実行に「\\[サーバ名]\[共有名]」を打ち込んで実行した場合は、Windowsが出してくる認証ダイアログ(ユーザ名、パスワードを聞いてく...続きを読む

Aベストアンサー

net.exeでドライブを割り当ててから Explorerを起動してみましょう

Shell "net.exe use z: \\サーバー名\共有名 パスワード /user:ユーザー名"
Shell "explorer.exe \\サーバー名\共有名",vbNormalFocus

といった具合で接続、表示を行い

Form_Unloadなどで
Shell "net.exe use z: /delete"
といった具合で切断しましょう

Qファイル名一括変換ソフト

100個以上のWindows(XP,2000)のファイルのファイル名を、任意の名称から、異なる任意の名称に名称変更したいのですが、1つづつ修正するのは間違いが生じるので、予めファイルを作成しておき一括返還したいと考えています。

 変換ファイルは、CSVやテキストファイルで、たとえば、(変換前ファイル名、変換後ファイル名)という形式で指定できるとベストです。他の指定方法でも構いませんが、返還前に再確認できることが望ましいと考えます。
 フォルダは、すべてのファイルが同じところにある前提(どこかで指定する)とします。

 以上のような、フリーソフト、フリーウェア(小額なら、シェアウェアも可)を紹介いただけないでしょうか。

Aベストアンサー

初めまして

これはどうでしょう?
Excel のマクロを使用してファイルの一覧表シートを作成し、指定されたファイルのリネーム又はコピーをする
http://www.vector.co.jp/soft/win95/util/se383332.html

他にもいっぱいありどれが合うか?
http://www.vector.co.jp/vpack/filearea/win95/util/file/name/

QVB上で実行とEXE後の実行に違い・・・

VB初心者です。
あるフォームの修正(Textの追加とそのコードの追加)を行い、そのまま実行するとうまくいくのですが、EXEにしてそれを実行すると以前に登録しておいたデータが登録されていません。何が悪いのでしょうか?

よろしくお願いします

Aベストアンサー

ソースを提示されたほうが、いいアドバイスを受けられると思います。

想像です。
App.Pathを使用されてます?
ソースのパスとEXEのパスがちがうとか?

Qフォルダー名がファイル名になるフリーソフト

たくさんの画像フォルダとその中にそれぞれ大量の画像ファイル(jpeg)があります。

一括してファイル名変換するソフトの中で、

フォルダ名をファイル名+ナンバーに一括変換するフリーソフトは、ないものでしょうか。
少し、特殊なファイル名変換です。

Windows7で動くとありがたいです。
よろしくお願いします。

Aベストアンサー

リネームソフトを一つ用意しておくと便利ですよ。
例えば【 Flexible Renamer 】などの定番ソフトをインストール
します。このようなソフトなら画像ファイル以外のファイルも
簡単に一括変換できます。
http://hp.vector.co.jp/authors/VA014830/FlexRena/

複数の画像フォルダが一つのフォルダの中にある場合ならば、
[下位フォルダ以下も対象]へとチェックを付け、[ターゲット]
を[ファイル]にして[フィルタ]を[ *.jpg ]にします。
[メニュー]から[連番や文字列の追加]を開きます。
[フォルダ名 + 連番]を指定して開始番号や桁数を指定。
[リネーム]が指定してあれば、右の一覧にある[新しい名前]が
フォルダ名と連番の組み合わせに変わっているでしょうから、
[リネーム]ボタンを押して一括変換します。

このようなソフトを一つ持っておけば、様々な応用ができて、
活用範囲が広がりますから、定番ソフトとしてお勧めします。

QShell関数実行直後の問題

Eexcl2003 VBにて、Shell関数を実行しました。
Shell関数によるトラブルは無いのですが、
Shell関数実行指示後の構文で、
Left/Mid/Right/Date/Timeの構文部が実行時エラーになります。
対象Eexclファイルを閉じ、再度開き、Shell関数部分を削除して、
マクロを実行すると、上記関数は正常に作動します。
解決策が想い浮かばないので、先達たちに教えを乞います。
宜しくお願いします。

Aベストアンサー

> Left/Mid/Right/Date/Timeの構文部が実行時エラーになります。

どういう構文で書いていて、どういうエラーが出ているのかは書けないの?

Q複数のファイルのファイル名を一括に変換するフリーソフトは?

複数のファイルのファイル名を一括に変換するフリーソフトは?

複数のファイルのファイル名を一括に変換して

運動会01
運動会02
...

という風に順番号名を付けることができる
いいフリーソフトを教えてください。

Aベストアンサー

http://www.vector.co.jp/soft/win95/util/se230280.html

Qセル指定後マクロ実行ボタンでオートフィルタ実行

表-1の氏名に応じた各日付に記号が入力されています。
下表の記号に日付ごとの記号合計個数が式によって入力されています。
記号の個数の値セル(E17)をアクティブし選出ボタンをクリックしたらその行記号(B17⇒"B")のみがオートフィルタで表-2のように選出表示したいのですが?
VBAでどなたかお解りになる方よろしくお願いします。

Aベストアンサー

例えば・・


フィルタ実行ボタン

Private Sub CommandButton1_Click()
    ' ↓Range("B15")は実際の条件選択の表の左上のセル番地に直す。
    If Not Intersect(Selection, Range("B15").CurrentRegion) Is Nothing Then
        With Range("A2") ' 実際の表の左上セル番地
            If ActiveSheet.AutoFilterMode Then .AutoFilter

            ' 以下同文につき省略
            .AutoFilter Field:=Selection.Column, Criteria1:=Cells(Selection.Row, "B")
        End With
    Else
        MsgBox "ERROR"
        Exit Sub
    End If
End Sub


フィルタ解除ボタン

Private Sub CommandButton2_Click()
    If ActiveSheet.AutoFilterMode Then Range("A2").AutoFilter
End Sub


こんな感じでしょうか。



でも、この程度なら手動でフィルタをかけた方が早くないですかね?
と言う素朴な疑問です。

例えば・・


フィルタ実行ボタン

Private Sub CommandButton1_Click()
    ' ↓Range("B15")は実際の条件選択の表の左上のセル番地に直す。
    If Not Intersect(Selection, Range("B15").CurrentRegion) Is Nothing Then
        With Range("A2") ' 実際の表の左上セル番地
            If ActiveSheet.AutoFilterMode Then .AutoFilter

            ' 以下同文につき省略
            .AutoFilter Field:=Selection.Column, Criteria1:=Cells(Selecti...続きを読む

Qフォルダ内のファイル名変換ソフト

沢山あるファイルのファイル名を変更して、ファイルの整理をしたいと
思っております。

フォルダを指定して、中にある沢山のファイルに、同じ条件を指定して、
ファイル名に変換をかけるソフトは持っております(001~099といった連番
をつける等)。

それぞれのファイルに個別の名前をつけたい場合、ひとつひとつのファイル名を
「右クリック→名前の変更→名前入力」で変更しているのですが、もっと簡単に変
換したいです。

イメージとしてはフォルダを指定して、フォルダ内のファイル名が一覧に並んで
表示され(エクセルの表のように)、それを変更すればフォルダ内のファイル名も
変換できてしまうような事がしたいです。

探したのですがそういったソフトが見つかりませんでした。
原理的に不可能なのでしょうか?

そういった事を実現できるソフトをご存知の方、教えてください。
宜しくお願い致します。

Aベストアンサー

次のようなフリーソフトでは,どうでしょうか。

テキストエディタのように変更したいなら
http://www.vector.co.jp/soft/win95/util/se317503.html

エクセル上でやりたいなら
http://www.vector.co.jp/soft/win95/util/se208296.html

QShell関数からバッチファイルを起動後に、バッチファイルが終了するまで待ちたい。

はじめまして。
掲題の通り、VB.netからshell関数を用いてバッチファイルを起動します。
その後、そのバッチファイルが終了してログファイルの出力を完了した後に、
ファイルを開いて確認したいのです。
thread.sleepなどで大体このくらいかなという時間を待ってみる、
などのやり方しか今は思いつかないのですが、
何か明確にバッチファイルの終了を受け取れる方法は無いものでしょうか。

どなたかご存知の方がいらっしゃいましたらご教授ください。

Aベストアンサー

Shell関数より Processクラスで実行したほうが簡単に待てますよ

Dim oPro as Process
oPro = Process.Start("..\..\a.bat")
oPro.WaitForExit()
MessageBox.Show("Hello")

といった具合です


人気Q&Aランキング

おすすめ情報