🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
VBA

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

2回答

1327閲覧

VBAから外部exeとしてProcessingで作成したアプリを開きたい

HogHog

総合スコア1

VBA

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2021/02/16 12:32

前提・実現したいこと

投降失礼します
VBAからのPrpcessingで作成したアプリケーションを起動したい

発生している問題・エラーメッセージ

Prpcessingをインストールした時に入るprocessing.exeの起動自体はExcelから起動可能でした
しかし、アプリケーション化した目的のexeを起動しようとしてもVBA側からはおそらく起動しているという反応があるのですが起動しないでいます。

該当のソースコード

VBA

1sub sumple(){ 2dim exePath as String 3dim rc as long 4exePath = "目的のアプリケーションのパス" 5 6rc = Shell(exePath vbNormalFocus) 7} 8rcのDebug.Pringは起動を指す0以外が返ってきました(VBAを回すごとに値が変化) 9 10

試したこと

同様にrun."path",1,true
でも試したのですが、こちらでも起動を確認できる0が返ってきました。
しかしprocessingのsize()で指定できるウィンドウ?が開かず処理も行われていないようでした。
noLoop();で外に画像データが出るようにprocessingのアプリを書いてみましたがそもそも起動していない様子?
パスを変えてnotepad.exeやvbsを作成してそのパスにした際には問題なく起動できました。

行いたいことはprocessingのエクスポートを行って作成されたtest.exeをvbaの方から起動をできるように。
可能であれば変数等も与えられたらと考えています。
御助力よろしくお願いいたします。
何か足りない情報等あれば教えてください。

補足情報(FW/ツールのバージョンなど)

vba:2016
processing:ver3

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

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

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

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

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

guest

回答2

0

ベストアンサー

Processingのスケッチをエクスポートするときのオプションが下図のようだとして、

イメージ説明

エクスポートしたEXEファイルをVBAのShellで実行するときに、あらかじめEXEファイルの存在するディレクトリをカレントディレクトリにすることで、ウィンドウの表示とともに起動できました。(Windows 10/Excel 2014/Visual Basic for Application 7.1)

VBA

1Sub Sample1() 2 3 Dim exePath As String 4 Dim rc 5 exePath = "C:\Users\user01\Documents\Processing\sketch_210217a\application.windows32\sketch_210217a.exe" 6 7 ChDir "C:\Users\user01\Documents\Processing\sketch_210217a\application.windows32" 8 9 rc = Shell(exePath, vbNormalFocus) 10 Debug.Print rc 11 12End Sub

EXEファイルの存在するディレクトリ下に各種のランタイムファイルが配置されていて、カレントディレクトリを適切に設定しないと、正しく起動できないのだと思います。

イメージ説明

投稿2021/02/16 18:32

編集2021/02/16 18:36
dodox86

総合スコア9256

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

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

0

ありがとうございます!
早速試してます!

投稿2021/02/16 22:52

HogHog

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問