• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelマクロをJP1で実行させる方法について)

ExcelマクロをJP1で実行する方法について

このQ&Aのポイント
  • VBA初心者のため、ExcelマクロをJP1から実行する際にマクロエラーが発生するが、コマンドプロンプトからは正常に動作する。
  • JP1のサポートによると、環境変数「TMP」の設定がJP1からアクセスできない場所になっていることが原因であることが判明。
  • ただし、一部のユーザはJP1からでも正常に動作するため、Excelにユーザ毎の環境変数の設定が関係している可能性がある。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

なんとなく解せないところもありますが、そういうことがあるんですね。 解せないところというのは、JP1がトリガであろうともマクロを実行しているのがexcelであれば問題ないようにも思います。(excelでのマクロ実行時はexcelがユーザ環境変数を使える。Msgbox Environ("TMP")とだけ書いてexcelで実行すると、ユーザー環境変数のTMPのパスを返しますし。) それともJP1がVBAのコードを実行しているのでしょうか? (今更ですがJP1って日立の運用基盤ソフトのこと?) >とりあえず環境変数を指定する方法で回避するかなというところです。 明示的に指定しないということですが、それをを指定するようにできるってことですか?

ht0412
質問者

お礼

回答有難うございます。 >(今更ですがJP1って日立の運用基盤ソフトのこと?) はい、その通りです。JP1のマニュアルにも書いているのですが、プログラムを実行する際、ユーザ環境変数はセットせずシステム環境変数だけセットするのだそうです。実際に内容表示すると「TMP」は「C:\WINDOWS\TEMP」になってました。 >明示的に指定しないということですが、それを指定するようにできるってことですか? 明示的にプログラムの先頭でユーザ環境変数を指定するという意味です。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

環境変数TMPをエクセルのマクロで使用しているのでしょうか? >Excelにユーザ毎の環境変数の設定があるようにしか思えませんが そんなことないと思いますが。。 推論ではありますが。 ユーザーに依っては、ということなのでAdministrator権限を持っているユーザーはできているとかあるのかも?その辺は確認されましたでしょうか? とりあえず、JP1がユーザ環境変数を取込まないことが分かっているのであれば環境変数TMPやTEMPは使用しないほうがいいのではないでしょうか。

ht0412
質問者

お礼

回答有難う御座います。 その後調べた結果、「C:\WINDOWS\TEMP」に「VBE」というフォルダがあり、正常動作する場合のユーザの権限がついてました。そのためユーザ(と言っても2個ですが)によって挙動が違うようです。(過去に何かのタイミングで間違って作成されたようです。。しかしどうやって??) 因みにこのユーザにはAdministrator権限はありません。 環境変数TMPはマクロで明示的に指定しているわけではないのでExcelが内部で使用しているように見えます。JP1サポートに言わせれば、JP1ではユーザ環境変数を取り込まないので使いたければプログラムで明示的に指定して下さいとのことです。 「C:\WINDOWS\TEMP」の権限も簡単に変更はできないので、とりあえず環境変数を指定する方法で回避するかなというところです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JP1からExcelを実行するとエラーになる

    今回、サーバ等のバージョンアップをしたところ、JP1からExcelを起動するexe(delphi)を実行するとファイルオープン時にエラーとなり、Excelファイルが起動できなくなってしまいました。 対象のExcelファイルはマクロを含んでいますが、マクロなしのファイルで試しても同じエラーでした。 また、起動するExcelファイルをxlsx形式にして試しても同じエラーでした。 なお、exeを直接実行した場合は、Excelが正常に起動されます。 いろいろ調べたつもりですが、原因の解決に至らないため、質問させていただきます。 エラー内容:  EOleExceptionがモジュール ~.exe の 0006787A で発生しました。  ファイル '~.xls' にアクセスできません。  次のいずれかの理由が考えられます。  ?ファイル名またはパスが存在しません。  ?ファイルが他のプログラムによって使用されています。 現在の環境は以下の通りです。 ・サーバA:JP1あり (WindowsServer2012) ・サーバB:exe、Excelファイルあり (WindowsServer2012) ・JP1のバージョン:10 ・サーバBのExcelのバージョン:Excel2007 ・Excelファイル:xls形式(Excel2000で作成) 【参考】いままで動作していた環境は以下の通りです。 ・サーバA:JP1あり (WindowsServer2003) ・サーバB:exe、Excelファイルあり (WindowsServer2003) ・JP1のバージョン:7i ・サーバBのExcelのバージョン:Excel2000 ・Excelファイル:xls形式(Excel2000で作成) 以上、宜しくお願い致します。

  • Excelのマクロが実行されません

    昨日、ExcelでマクロやVBAを作成してみました。 きちんと実行できていましたが、 今日やってみようと思ったら、 「このプロジェクトのマクロは無効に設定されています」とエラーメッセージが出て、実行できませんでした。 セキュリティーレベルは中にしてあります。 また、マクロの有効オプションを選択するように、ヘルプに書いてありますが、エクセルを起動しても、その表示が出ません。 どうしたら、いいのでしょうか。 ちなみに、他のパソコンでは正常に起動します。 どうか教えてください。

  • エラー「作業ファイルを作成できません。」について教えてください。諸事情

    エラー「作業ファイルを作成できません。」について教えてください。諸事情でDドライブを初期化したところ、ソフトを立ち上げるたびに「作業ファイルを作成できません。環境変数TEMPの設定を変更してください。」と出ます。環境変数(TMPとTEMP)はユーザー変数、システム変数とも%SystemRoot%\TEMPとなっています。一体これはどうしたらよいのでしょうか。素人なので理屈はまったくわかりません。

  • TEMPユーザー環境変数の削除について

    RAMディスクの有効活用の説明などで、「システム環境変数TEMP、TMPをRAMディスク上のパスに変更しましょう」といった部分がありますが、その部分の説明で「ユーザー環境変数のTEMP、TMPは削除してください」といったことが書かれているのもよく目にします。 システム環境変数のパスを書き換えるのは理解できるのですが、なぜユーザー環境変数の方は削除するのでしょうか? その場合、プログラムがユーザー環境変数のTEMP、TMPを利用する時は問題ないのでしょうか? ユーザー環境変数の方のTEMP、TMPパスもRAMディスク上のパスに変更するのが普通なのではないのでしょうか?

  • ward、excelが使用できなくなりました

    Windows Vistaを使用し始めて1年半位経ちます。 2,3か月位前から、急にword(2007)を立ち上げようとすると「作業ファイルを作成できません。環境変数TEMPの設定を確認してください」とメッセージが出るようになりました。 excel(2007)に至っては、起動できるものの保存しようとすると「容量が足りない」といったメッセージが出るようになり保存できません(空き容量は十分あります)。 色々ネットで調べまして試みたのですが上手く行きません。 元々の環境変数TEMPです。 %USERPROFILE%\Local Settings\Temp 試したものの上手く行かなかった設定です。 C:\Users\ユーザー名\Local Settings\Temp C:\Users\ユーザー名\AppData\Local\Temp コンピューターには詳しくないこともあり、お手上げです。 家族は私よりはコンピューターに詳しいのですが、「新しくインストールしよう」などと言っています(あまり協力的ではありません)。ですが、最初は使用出来ていただけに納得もいかず・・・。 どうか宜しくお願い致します。

  • EXCELマクロが正常に動作したりしなかったりする

    Office2007でEXCELのマクロを使用して、マクロ付のEXCELを開くと、決まった位置にあるDATファイルを読込、その内容を基に計算等を行い、結果をEXCELのシートの決まった位置に転記して、そのシートを新規のワークブックにコピーするという処理を行っています。 複数のPCで正常に動作するのですか、一部のPCで正常に動作せず、マクロ自体は起動しているみたいなのですが、DATファイルの内容がそのままEXCELに転記され、新規のワークブックにコピーされます。ワークブックやシートの名前もDATファイル名になってしまっています。ただし、10回に1回くらいの割合で正常に動作します。 また、11月位まで正常に動作していたのに、12月位から突然正常に動作しなくなったPCもあります。 マクロのセキュリティ設定を疑いましたが、「すべて有効」になっており、なにが原因でこのような状態になっているのか皆目見当がつきません。 原因及び対処方法をご存じの方、ご教授ねがえないでしょうか。 よろしくお願いします。

  • エクセル2013のマクロについて。

    Excel 2013のシートでセルに2桁の数字を入れていますがセルの書式設定でユーザー定義を"00"として数値が1桁の場合に頭にゼロがつくようにしてあります。このシートでマクロを作成した時、変数Aを"Dim A As Byte"と定義して、「A = "セル"」の式で マクロの実行が止まり、「実行時エラー'13':型が一致しません。」と出て数値として読み込めないようですがどなたか原因と解決方法ご存知の方教えて下さい。

  • 環境変数について

    環境変数というのが何なのか、あまりピンときません。環境変数を設定するときに書いてあるTMPとかTEMPとか書いてるのはどういう意味なんでしょうか?どうか教えてください。よろしくお願いしますm(__)m

  • エクセル/マクロのエラー・・・・

    エクセルでマクロ登録をいくつかし、正常に動作したことを確認しました。で、その後にいろいろ付け加えをしました。そして最終確認にとマクロを実行させてみると、下記のようなエラーが出てしまいました。 Microsoft Visual Basec 実行時エラー'9': インデックスが有効範囲にありません。 これはどうすれば良いのでしょうか?もしかし、てやり直し・・・(><)

  • エクセル2003のマクロが自動実行されてしまいます

    宜しくお願いいたします。 エクセル2003で、マクロ記録で作成したマクロを登録したのですが、そのファイルを開くと時、マクロを有効にするにすると作成したマクロが起動してしまいます。マクロを無効にすると、マクロが表示されなくなります。シフトをおしながら有効にする方法は、分かったのですが、マクロを有効にするにしても、開いた後に、手動で実行するまで、 止めておきたいのですが、設定方法は無いでしょうか?