質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Q&A

解決済

2回答

6283閲覧

エクセルのVBAでShell関数で呼べるコマンド、呼べないコマンド

otaks

総合スコア223

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

0グッド

0クリップ

投稿2016/11/09 11:56

エクセルのVBAでShell関数を使う際に、呼べるコマンド、呼べないコマンドがありますが、どのようなコマンドが呼べるのでしょうか?
また、呼べるものはWinキー+Rで呼べるものと同等と考えてもよいですか?

例えば、コマンドプロンプト上で"del hoge.txt"とするとファイルが削除されますが、shell関数の引数に直接"del hoge.txt"と書いてもファイルは削除されません。(実行自体が失敗した気がします)

なので、cmd /c del hoge.txtとかして今は呼んでいます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

コマンドプロンプト(cmd.exe)でhelpと入力し表示されるコマンドはcmd.exeの内部で実装されているコマンドです。
よって cmd /c del file.txt としないと実行できません。

#そうなのかこういう回答がマイナス評価になるのか。

投稿2016/11/09 12:08

編集2016/11/09 13:37
Y.H.

総合スコア7914

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

exeやbat cmdが直接呼び出せます。
del.exeと言う物は存在せず、コマンドプロンプトcmd.exeが内部で処理している物なので、cmd /c とする必要があります。下記の物が、内部コマンドです。

ASSOC BREAK CALL CD CHDIR CLS COLOR COPY DATE DEL DIR ECHO ENDLOCAL
ERASE EXIT FOR FTYPE GOTO IF MD MKDIR MKLINK MOVE PATH PAUSE POPD PROMPT PUSHD
RD REM REN RENAME RMDIR SET SETLOCAL SHIFT START TIME TITLE TYPE VER VERIFY VOL

Win+Rでは、exe bat cmd の他にmscとかも実行できますが、shellではmscは実行できません。

投稿2016/11/09 13:12

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問