VisualBasicで下記のSHELLコマンドを記述すると、構文エラーが出てしまいます。

どのようにしたら正常に動きますか?
----------------------
Private Sub Command2_Click()
Shell (IC:oWINDOWSoSYSTEM32ocmd.exeI /k IC:oProgram FilesoffftpoclineoMTomixiomixiomixidiary.plI)
End Sub
---------------------------------------
引数全体をIIでくくると今度は、実行はできるのですが、Programのところで文字が切れていると認識するらしく、DOSプロンプト上で、[Programは***認識されていません]というエラーになってしまいます。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:shampoohat No.1

回答回数347ベストアンサー獲得回数0

ポイント25pt

http://www.microsoft.com/japan/msdn/library/default.asp?url=/jap...

MSDN ライブラリ サイト移行に関する重要なお知らせ

引数全体を「II」でくくるとというのが不明なのですが、文字化けでしょうか?

半角ダブルクォーテーション(2重引用符号。日本語配列のキーボードでは、SHIFT+2で出てくる記号。「”」)ですよね?


ぱっと見て、正しくは

”””C:¥WINDOWS¥¥SYSTEM32¥cmd.exe”” /K ....”

ではないのかと思うのですが。

(上記は、はてな仕様の都合上、本来半角であるはずのものが、全角にされてしまっていますが)


なお、参照先URLは、VisualBasicのMSDNですが、ここには「リテラル文字列で二重引用符が 2 つ連続する (””) のは、文字列内の 1 つの二重引用符として解釈されます。このため、上の例は次の文字列を Shell 関数に渡しています。」と記述されています。

id:kirinsha No.2

回答回数24ベストアンサー獲得回数0

ポイント25pt

http://www.hatena.ne.jp/1133644533#

人力検索はてな - VisualBasicで下記のSHELLコマンドを記述すると、構文エラーが出てしまいます。 どのようにしたら正常に動きますか? ---------------------- Private Sub Command2_Click(..

()内をダブルクォートで括ってみては?

半角スペースがあると、切れていると認識されてしまうので。

”IC:oWINDOWSoSYSTEM32ocmd.exeI /k IC:oProgram FilesoffftpoclineoMTomixiomixiomixidiary.plI”

  • id:cx20
    文字化け?

    なんか文字化けしてるようですね・・・。

    「”」(半角のダブルクォーテーション×1)→「I」
    「””」(半角のダブルクォーテーション×2)→「II」
    「¥」(半角の円マーク×1)→「o」

    ■ はてなトップページ
    http://www.hatena.ne.jp/

    から投稿すると「〜」→「〓」のような文字化けが発生したりするので、その絡みでしょうか?
    (投稿時に使用しているブラウザも関係してそうな気がします。)

    文字化けが頻発するようでしたら以下の「人力検索」のトップページから投稿してみると改善するかもしれません。

    ■ 人力検索トップページ
    http://www.hatena.ne.jp/q
  • id:cx20
    Re:文字化け?

    文字化け再現しました。

    ■ はてなトップページ
    http://www.hatena.ne.jp/

    から、以下の質問文を投稿すると文字化けするようです。

    <投稿時の質問文(「”」と「¥」は、それぞれ半角記号)>
    ────────────────────────────────────────────────
    VisualBasicで下記のSHELLコマンドを記述すると、構文エラーが出てしまいます。
    どのようにしたら正常に動きますか?
    ----------------------
    Private Sub Command2_Click()
    Shell (”C:¥WINDOWS¥SYSTEM32¥cmd.exe” /k ”C:¥Program Files¥ffftp¥cline¥MT¥mixi¥mixi¥mixidiary.pl”)
    End Sub
    ────────────────────────────────────────────────

    <投稿後の質問文>
    ────────────────────────────────────────────────
    VisualBasicで下記のSHELLコマンドを記述すると、構文エラーが出てしまいます。
    どのようにしたら正常に動きますか?
    ----------------------
    Private Sub Command2_Click()
    Shell (IC:oWINDOWSoSYSTEM32ocmd.exeI /k IC:oProgram FilesoffftpoclineoMTomixiomixiomixidiary.plI)
    End Sub
    ────────────────────────────────────────────────

    http://i.hatena.ne.jp/idea/6528
  • id:shampoohat
    Re(2):文字化け?

    ご指摘有難うございます。

    >から、以下の質問文を投稿すると文字化けするようです。
    >Shell (”C:¥WINDOWS¥SYSTEM32¥cmd.exe” /k ”C:¥Program Files¥ffftp¥cline¥MT¥mixi¥mixi¥mixidiary.pl”)
    >Shell (IC:oWINDOWSoSYSTEM32ocmd.exeI /k IC:oProgram FilesoffftpoclineoMTomixiomixiomixidiary.plI)

    文字化け前のを見て、何が構文エラーなのかがきちんと分かりました。
    (対処法としては結果的に多分正しかったわけですが、cmd.exe に *.pl を引数として渡すのはちょっと気持ち悪いですね。)

    ところで、波線(〜)は、はてブの要約表示部では微妙な感じに化けますね(位相が180°ちがう)。
    「〜更新終了のお知らせ〜 」
    これを貼り付けたいわしだとどうなるか気になりますが。

    http://b.hatena.ne.jp/search?word=%E3%82%92%E6%9A%97%E7%AE%97%E3%81%99%E3%82%8B
  • id:cx20
    Re(3):文字化け?

    >ところで、波線(〜)は、はてブの要約表示部では微妙な感じに化けますね(位相が180°ちがう)。
    >「〜更新終了のお知らせ〜 」

    通常、EUC の「〜」=「0xA1C1(波ダッシュ=wave dash)」は、
    UNICODEの「〜」=「U+301C (波ダッシュ=wave dash) 」に割り当てられるようです。
    (見た目上は「〜」=「U+FF5E(全角チルダ=fullwidth tilde)」が正しそうですが、文字の意味としては違う為、「〜」とするのが正しいようです。)

    逆に、UNICODEの「〜」=「U+FF5E(全角チルダ=fullwidth tilde)」に
    対応する EUC のコードは存在しないようです。
    (はてな上では対応するコードが存在しない場合「〓」という文字に置換されている模様)

    ■ チルダ - Wikipedia
    http://ja.wikipedia.org/wiki/%E3%83%81%E3%83%AB%E3%83%80

    しかし、変換できないからといって「−」や「〜」を「〓」に置き換えるのはどうか?と思います。

    現実的な解としては、以下にあるような「UNICODE → EUC」への変換を行うことでしょうか。

    ■ unicodeからeucへの変換テーブル(uni2euc.h)の改造
    http://homepage2.nifty.com/hobbit/html/jcode.html

    <UNICODE → EUC の変換例>
    「−(U+FF0D Fullwidth Hyphen-Minus)」 →「−(0xA1DD)」
    「〜(U+FF5E Fullwidth Tilde)」 →「〜(0xA1C1)」
    「¢(U+FFE0 Fullwidth Cent Sign)」 →「¢(0xA1F1)」
    「£(U+FFE1 Fullwidth Pound Sign)」 →「£(0xA1F2)」
    「¬(U+FFE2 Fullwidth Not Sign)」 →「¬(0xA2CC)」

    http://www.hatena.ne.jp/1133684436
  • id:izunagonago
    Re(4):文字化け?

    質問者です。
    皆様、回答のみならず、丁寧なフォローありがとうございました。
    結局しばらくは対処療法的に、人力のトップから投稿するしかないわけですね。

    >>ところで、波線(〜)は、はてブの要約表示部では微妙な感じに化けますね(位相が180°ちがう)。
    >>「〜更新終了のお知らせ〜 」
    >
    >通常、EUC の「〜」=「0xA1C1(波ダッシュ=wave dash)」は、
    >UNICODEの「〜」=「U+301C (波ダッシュ=wave dash) 」に割り当てられるようです。
    >(見た目上は「〜」=「U+FF5E(全角チルダ=fullwidth tilde)」が正しそうですが、文字の意味としては違う為、「〜」とするのが正しいようです。)
    >
    >逆に、UNICODEの「〜」=「U+FF5E(全角チルダ=fullwidth tilde)」に
    >対応する EUC のコードは存在しないようです。
    >(はてな上では対応するコードが存在しない場合「〓」という文字に置換されている模様)
    >
    >■ チルダ - Wikipedia
    >http://ja.wikipedia.org/wiki/%E3%83%81%E3%83%AB%E3%83%80
    >
    >しかし、変換できないからといって「−」や「〜」を「〓」に置き換えるのはどうか?と思います。
    >
    >現実的な解としては、以下にあるような「UNICODE → EUC」への変換を行うことでしょうか。
    >
    >■ unicodeからeucへの変換テーブル(uni2euc.h)の改造
    >http://homepage2.nifty.com/hobbit/html/jcode.html
    >
    ><UNICODE → EUC の変換例>
    >「−(U+FF0D Fullwidth Hyphen-Minus)」 →「−(0xA1DD)」
    >「〜(U+FF5E Fullwidth Tilde)」 →「〜(0xA1C1)」
    >「¢(U+FFE0 Fullwidth Cent Sign)」 →「¢(0xA1F1)」
    >「£(U+FFE1 Fullwidth Pound Sign)」 →「£(0xA1F2)」
    >「¬(U+FFE2 Fullwidth Not Sign)」 →「¬(0xA2CC)」
    >
  • id:cx20
    Re(5):文字化け?

    >結局しばらくは対処療法的に、人力のトップから投稿するしかないわけですね。

    残念ながら、そうするしかなさそうです(^^A
    ちなみに、以下の質問も文字化けしてるようです。

    http://www.hatena.ne.jp/1133818325
    「Iuse lib qwI」→「”use lib qw”」

    http://www.hatena.ne.jp/1133819113
    「print IContent-type: text/html;ononI」→「print ”Content-type: text/html;¥n¥n”」
  • id:izunagonago
    Re(6):文字化け?

    あれれ。
    この質問はトップから投稿したんですがダメですね。
    はてなの人にシステムを見てもらうしかないでしょうか。

    >>結局しばらくは対処療法的に、人力のトップから投稿するしかないわけですね。
    >
    >残念ながら、そうするしかなさそうです(^^A
    >ちなみに、以下の質問も文字化けしてるようです。
    >
    >http://www.hatena.ne.jp/1133818325
    >「Iuse lib qwI」→「”use lib qw”」
    >
    >http://www.hatena.ne.jp/1133819113
    >「print IContent-type: text/html;ononI」→「print ”Content-type: text/html;¥n¥n”」
    >
  • id:cx20
    Re(7):文字化け?

    >この質問はトップから投稿したんですがダメですね。

    「はてな」のトップページ( http://www.hatena.ne.jp/ )ではなく、
    「人力検索」のトップページ( http://www.hatena.ne.jp/q )から投稿してみて下さい。

    ■ 人力検索 - トップページ
    http://www.hatena.ne.jp/q

    ■ はてな - トップページ
    http://www.hatena.ne.jp/

    >はてなの人にシステムを見てもらうしかないでしょうか。

    見て欲しいですね・・・(^^A

    結構、文字化けの事象は発生しているようですし・・・。
    http://www.hatena.ne.jp/1133684436

    http://i.hatena.ne.jp/idea/6528

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません