VBを最近はじめたのですが、Shellがうまくいかず、困っています。
下記のような内容で、MS-DOS上で動作するプログラムをShellで呼び出していますが、ファイルが見つからないというエラーが出てしまいます。(<D:\kakasi\401.txt:No such file or directory)
com1 = "kakasi.exe " + param + " <" + lbl_open_file + " > " + lbl_save_file
retval = Shell(com1, vbNormalFocus)
kakasi.exeには、パスが通してありますので、lbl_open_fileやlbl_save_fileのファイルが見つからないと思われます。
実行時のcom1の値は、kakasi.exe -Jk -Hk -Kk <D:\kakasi\401.txt > D:\kakasi\401.txt1
になっていて、DOSプロンプトから手入力、実行ではうまくいきます。
何が問題なのか分かる方、教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
[自信なし]になってますが、[自信全然なし]です。
。。やってみました。たしかに無理でした。
おそらくですが・・・
[<]や[>]は基本的にDOSの機能だから、その機能を操作するにはDOSShellを起動して、パイプを作成し、DOSShellそのものにそれらの文字列を送らないといけないような気がします。
ただそれを実現するには、VBでは不安定要素がいっぱいです。たぶん落ちまくりになるでしょう。
うーん、別方法で実現できるのかなぁ?勉強不足っす。
kakasi.exe -Jk -Hk -Kk <D:\kakasi\401.txt > D:\kakasi\401.txt1
をテキスト形式で"xxx.bat"という名で保存して、"xxx.bat"を実行してはだめ?
DOS窓が見えて、目がシパシパするけど・・・
お礼が大変遅くなってしまってすみませんでした。
最近VBを始めたんですけど、できないことが多くて挫折ばかりです。(←プログラムの腕が無いだけですけど・・・)
この辺、VCだったらそういう機能があるのかな~?
.batのファイルを自動的に作成させて実行もいいかもしれないですね。
現状のプログラムは、例のkakasi.exe -Jk -Hk -Kk <D:\kakasi\401.txt > D:\kakasi\401.txt1をプログラムでクリップボードにコピーして、DOSプロンプトを開かせて、あとは手動でペーストボタンクリック+ENTERで実行してます。
今度は.batで組んでみます。
情報ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- 画像編集・動画編集・音楽編集 DVD Styler トラブル解決方法 6 2022/10/29 16:00
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(プログラミング・Web制作) Fortranでの出力ファイル 2 2023/03/21 21:25
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- その他(プログラミング・Web制作) Pythonを勉強しています。 5 2023/08/25 09:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- オープンソース Pythonのコードをexe化 1 2023/07/03 08:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
xismoについてです!開こうとす...
-
OLE又はDDEを使うVISUAL BESIC...
-
VC++から引数付きexeファイルの...
-
Access クエリ実行が急に非常に...
-
LINK : fatal error LNK1104に...
-
VBAでEXEファイルを動かす方法...
-
JavaScriptでコマンドプ...
-
以下のように複数のファイルを...
-
c/c++ ビルドしたにもかかわら...
-
USBに保存されたファイルを開き...
-
makefileの書き方が分からない
-
batからexeを起動した際の戻り...
-
batからexeを実行し戻り値を受...
-
ミニゲーム作成。
-
jarの開き方を教えてください。
-
VBS形式ファイル:ダブルクリッ...
-
WSHでファイル比較処理について
-
htaファイルが実行されません
-
ネットワーク越しのEXEファ...
-
ファイル名の先頭が数字だと駄...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
JavaScriptでコマンドプ...
-
OLE又はDDEを使うVISUAL BESIC...
-
VC++から引数付きexeファイルの...
-
VBAでEXEファイルを動かす方法...
-
LINK : fatal error LNK1104に...
-
64bit環境で32bitのodbc参照
-
WScript.Echo と msgbox
-
batからexeを実行し戻り値を受...
-
VBAでMP3を鳴らしたい
-
コマンドプロンプトで外のexeや...
-
batからexeを起動した際の戻り...
-
VBS形式ファイル:ダブルクリッ...
-
jarファイル実行時の環境変数の...
-
JAVA .jarファイルに再圧縮する...
-
jarファイルとjava.exeの関連付...
-
VBSでEXCELのXLSTARTにあるマク...
-
コンポーネント`MSCOMM32.cox'...
-
ローカルのHTMLからexeファイル...
-
c/c++ ビルドしたにもかかわら...
おすすめ情報