• 締切済み

WindowsのコマンドラインからExcelを起動して、パラメータを渡す方法ってありますか?

WindowsのコマンドラインからExcelを起動して、パラメータを渡す方法ってありますか? 下記のようなイメージで、エクセルを起動したいのですが、パラメータ名をエクセルシート名と思ってしまいうまくデータが渡りません。 同様にエクセル上のマクロでの受け取り方法がわかりません。 根本的にこれった可能なのでしょうか? excel.exe test.xls パラメータ

みんなの回答

  • sam_inoue
  • ベストアンサー率47% (27/57)
回答No.1

[Excel の起動スイッチを設定する]のヘルプを見て頂ければ 判ると思いますが、そのようなパラメータはありません。 事前にテキストファイルにパラメータを書き込んで、 ブックの立ち上げマクロで読み込ませるなどの 対応を考えるしかないと思います。

koma_hiro
質問者

お礼

ご返事ありがとうございます。 WindowsAPIのGetCommandLineを使用すれば取得できることが わかりました。 ありがとうございました。

関連するQ&A

  • VBからEXCELを起動する

    VBよりExcelを起動するプログラムで困っています。 1.VBよりGetObject関数でTest.xlsを開く 2.Test.xls内のAuto_Openマクロでパラメータファイルをよみ、そこに指定されているエクセルファイルを新しいブックでを開く ということをしたいのですが(「マクロを有効にする」のダイアログは表示されてもかまわないです)、何故かTest.xlsが開いたと思ったらすぐ閉じてしまいます(Excel自体は終了してないですべてのワークシートが閉じた状態)。 Auto_Openマクロは走ってるようなのですが、ついでにCloseマクロも走ってしまいます。 ちなみにTest.xlsを単体で動かしたときは問題なく動くのです・・・。 以前はVB4+Excel95の環境でAPI(CreateProcess)を使用し同作業を行っていたのですが、そのAPIが長いファイル名のスペース(OFFICEがある「Program File」のスペース)を認識しないそうで、この方法が使えないということでGetObjectを使用してみたのですが・・・。 何か根本的な間違いをしているのか、それともコードにエラーがあるのかさっぱりわからずお手上げです。 うまく疑問点を説明できているか不安なんですが、わかる方、どうかご指導願います。 よろしくお願いします。 ---------------------------------------- OSは、Windows 2000 アプリケーションは、Excel 2000 です ----------------------------------------

  • アクセス マクロ コマンドラインって?

    ヘルプを見てもよくわからないので教えてください。 アクセス2003のマクロの機能で 「アプリケーションの実行」を行いたいのですが コマンドラインには何を入れればいいでしょうか? テストとして デスクトップにあるエクセルファイルのパス C:\Documents and Settings\ユーザー名\デスクトップ\test.xls をマクロのデザインのコマンドラインのところに入れて、マクロ1を保存し ダブルクリックして開いてみたら --------------------------------------------------------- “RunApp/アプリケーションの実行”アクションを使ってアプリケーションを起動 アプリケーションのパスが正しく制定されていないか、 アプリケーションのコンポーネントが不足しています。 Windowsエクスプローラーまたはファイルマネージャで アプリケーションのパスを確認してください。 --------------------------------------------------------- というメッセージが表示されてしまいました。 C:\Documents and Settings\ユーザー名\デスクトップ\test.xls を “C:\Documents and Settings\ユーザー名\デスクトップ\test.xls” にしても同じです。 ヘルプを見ると >アプリケーションの起動に使用するコマンド ラインを指定します。 パスの指定や、アプリケーションを特定のモードで実行するスイッチなどのパラ マクロ ウィンドウの [アクションの引数] セクションの [Command Line/コマン コマンド ラインを入力します。 この引数は、省略できません。 と書いてあるのですが 「パスの指定」の指定が上記で出来てることにはならないのでしょうか?

  • EXCELバッチコマンド起動時のxlsファイル指定方法について

    EXCELをバッチコマンド起動する場合に、既存のexcelファイルを起動時に自動起動させる方法を教えて下さい。 以前利用したことがあります。 excelコマンドの引数にxlsファイルを指定したうえで、もう一つ何か固定パラメータがあつた記憶があります。 よろしくお願いします。

  • MFCアプリのコマンドラインでパラメータを使用した起動方法

    VisualC++6.0を用いて、ダイアログの2つあるプログラムを 作ったのですが、 2つのダイアログを例えばAさん用、Bさん用として使い分けようと思ったときに メニューでダイアログをそれぞれ指定して、実行しようと思ったのですが、 Aさん用を親ダイアログにしてしまうと、Bさんは起動時ごとにメニューで 切り替えなければいけなくなりますよね。 それで、切り替えをしなくても良いようにと思って、 コマンドラインからパラメータで「/A」「/B」などとしたときに、Aさん用 Bさん用として、起動させたいのですが、 コマンドラインのパラメータをどこで受け取って処理しているのか 分らないのですが、教えては頂けないでしょうか? よろしくお願い致します。

  • 「コマンドラインからプログラムを起動する」

    「コマンドラインからプログラムを起動する」ってどうやるのですか? 例えば、 http://d.hatena.ne.jp/language_and_engineering/20081028/1225160338 の(1) PATHを利用して起動のように、 taskmgr.exe を起動させたい場合、 どこにtaskmgr.exeを記載すればいいのでしょうか? コマンドプロンプトに張り付けて実行したら起動しましたが、 コマンドライン=コマンドプロンプトってことですか?

  • EXCELマクロでセル関数パラメータに変数値を指定

    EXCELマクロで、セルにHYPERLINK関数の式を設定するマクロを作っています。 HYPERLINK関数のパラメータにはマクロ内で定義した変数に入れた値を指定したいのですが、 値ではなく変数名がそのままパラメータに指定されたHYPERLINK関数の式になってしまいます。 例) Sub ハイパーリンク設定マクロ() w_aaa = "C:\test\test.xls" w_bbb = "test.xls" ActiveCell.FormulaR1C1 = "=HYPERLINK(w_aaa,w_bbb)" End Sub 上記マクロで作成された式 =HYPERLINK(w_aaa,w_bbb) 期待する式 =HYPERLINK("C:\test\test.xls","test.xls") 対処方法がお分かりになる方がおりましたら、 ご教授願います。よろしくお願いします。

  • パスワード保護されたExcelファイルをコマンドラインから開くには

    読取りパスワードの設定されたExcelファイルをコマンドラインから開く方法を教えてください。 "ファイル名.xls"だとパスワード入力のダイアログが表示されるので、それを表示させずに一気に開きたいのですが無理でしょうか? コマンドラインにパスワードを含めたパラメータ何かを付けることでできないでしょうか? よろしくお願いします。

  • PocketPcでコマンドラインパラメータを取得したい。

    PocketPcでコマンドラインパラメータを取得したい。 現在、eMbedded Visual C++ 3.0を使い、PocketPc用のアプリケーションを作っています。 MFCは使わずにAPIオンリーです。開発PCはW2Kです。 ターゲットはCASSIOPEIA E800 ちょっとマイナー?ですが、産業用PDAです。 コマンドラインパラメータの値により動作が異なるようなアプリケーションを 作りたいのですが、コマンドラインパラメータの取得方法を教えてください。 自分で書いたコードでは、コマンドラインパラメータが1文字しか取得できません。 文字列変数と、ポインタ変数の2種類の方法で試してみたのですが、 どちらも結果は同じでした。 因みに、コマンドライン入力は、フリーのGS_Finderとゆうソフトで実現したいます。 (PocketPcではOS単体で、コマンドライン入力が出来ませんので) また、E800上でコマンドラインパラメータを受け取って動作するアプリケーションも 確認しています。 よろしくお願いします。 /****************** ソースはこんな感じです。 ******************/ char GlpCmdLine[20]; LPTSTR GloballpCmdLine; /*****Defines the entry point for the application.*************/ int WINAPI WinMain(  ・・・) { MSG msg; HACCEL hAccelTable; memset(GlpCmdLine,0x00,20); //初期化 strncpy (GlpCmdLine,(char*)lpCmdLine,20); CmdLineSave( GlpCmdLine ); // ファイルに保存(自作関数) GloballpCmdLine = GetCommandLine(); CmdLineSave( (char*)GloballpCmdLine ); // ファイルに保存(自作関数) ・ ・ ・ return msg.wParam; }

  • エクセルの起動

    ExcelXPを利用しています。 マクロの勉強を始めたのですが、それ以降エクセルを起動すると、personal.xlsというファイルが最初に開いてくるようになってしまいました。 それを初期に戻すにはどうすればよいでしょうか? personal.xlsというのはシートが1枚しかなく不便なんです。

  • エクセルを起動すると何故かPERSONAL.XLSが起動します。

    皆様、宜しくご教示の程お願い致します。 エクセル2003を使用していますが、エクセルを起動しますと、必ずPERSONAL.XLSと言うシート(?)が起動してしまいます。 エクセルで作成したシートから起動しても、必ず一緒にPERSONAL.XLSが起動してきます。 以前にマクロを作成した事があり、それ以降この現象が現れるようになりました。これを元に戻すにはどうしたら良いのでしょうか。お分かりになる方いらっしゃいましたら、よろしくお願い致します。

専門家に質問してみよう