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

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

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

xlwingsは、ExcelをPythonで操作するためのオープンソースライブラリです。

VBA

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2920閲覧

Windows Excel VBAでPythonのコードを走らせたい

CHI_0304

総合スコア1

xlwings

xlwingsは、ExcelをPythonで操作するためのオープンソースライブラリです。

VBA

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/21 02:14

前提・実現したいこと

プログラミング初心者で、初歩の初歩で躓いています。
Windows10 Excel VBAで、Pythonコードを走らせたく、xlwingsをVBEに入れたのですが、いざコードを走らせてみると、以下のメッセージが出て、MicrosoftStoreへ飛ばされてしまいます。

Anacondaで、Pycharmやjupyterを使用して通常は開発しているのですが、これらの環境ではコードの実行に問題はありません

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

Python was not found but can be installed from the Microsoft Store: https://go.microsoft.com/fwlink?linkID=2082640 Press Ctrl+C to copy this message to the clipboard.

該当のソースコード

こちらに書かれていた方法でインストールしたコードをそのまま使用しています https://celaeno42.hatenablog.com/entry/2018/12/03/191854 xlwingsのverは、0.19.0です

試したこと

Anacondaは、"C:\Python\anaconda3"にインストールされているのですが、
エラーを追うと、"C:\Users\ユーザー\AppData\Local\Microsoft\WindowsApps"の中のpythonを見に行っているように見受けられます。そこには、0KBのpython.exeとpython3.exeがおり、削除ができません。

パスの確認をAnaconda Promptから行うと、上記のWindowsAppsフォルダにはパスが通っていない状態です

環境変数上のパスは以下の通りです。
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
※ANACONDAのパスはありません(設定方法が分からず…)

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

Windows10 Home
Excel 2013
python 3.7.6

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

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

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

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

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

guest

回答1

0

ベストアンサー

WIndowsAppのパスの前にanacondaのパスを設定すればちゃんと動くようですよ。

ググったらすぐ出てきたサイト

投稿2020/05/21 02:29

hope_mucci

総合スコア4447

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

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

CHI_0304

2020/05/21 04:16

早速のご回答ありがとうございます。 はい、そちらのサイトは参考にしたのですが、下記の内容で症状が違っていると考えています。 ・VBA以外では、普通にPythonが動く ・元のpythonのパス設定はなく、したがって%ANACONDA%の優先順位を変えることができない  (一旦、無理ムリ見よう見まねで設定作ってみたのですが、解消しませんでした)
hope_mucci

2020/05/21 04:44

・コマンドプロンプトで環境変数PATHを直に確認してみてください。GUIはシステム環境変数とユーザ環境変数に分かれていてどちらかを見落としている可能性もあります。 ・コマンドプロンプトで`where python`を調べてみてください。うまくanaconda側を指しているでしょうか? ・excelプラグインに直接インタプリタのパスを設定できるそうです。interpreterのテキストボックスにpython.exeのフルパスを入れてみたらどうでしょうか。
CHI_0304

2020/05/21 06:57

ありがとうございます。無事解消しました。 ・コマンドプロンプトでのpythonのパスはanaconda側を指しておりました。 ・VBA側のinterpreterをINTERPRETER = "C:\Python\anaconda3\python.exe"と直に指定することにより、動きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問