回答編集履歴
2
誤字修正
test
CHANGED
@@ -116,7 +116,7 @@
|
|
116
116
|
|
117
117
|
1. まずはExcelVBAでのサンプルソースをもとに当該Active Xコントールを使って目的の機能を簡単に作り、習熟する。
|
118
118
|
|
119
|
-
2. C# なりなんなりで、
|
119
|
+
2. C# なりなんなりで、Visual Studio で.NET Frameworkベースの製品版のアプリを作る。
|
120
120
|
|
121
121
|
|
122
122
|
|
1
改行位置、誤記修正。
test
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
「Active X COMコンテナアプリケーション」との言い方は、先にご回答をいただいていたようにActive Xコンポーネントを含めた/載せた(コンテナ)アプリケーションとの意味であり、MicrosoftのInternet Explorer やWord等のMicrosoft Officeアプリケーションに代表されるようなプログラム、加えてActive Xコントロールを
|
5
|
+
「Active X COMコンテナアプリケーション」との言い方は、先にご回答をいただいていたようにActive Xコンポーネントを含めた/載せた(コンテナ)アプリケーションとの意味であり、MicrosoftのInternet Explorer やWord等のMicrosoft Officeアプリケーションに代表されるようなプログラム、加えてActive Xコントロールを載せた自分で開発したプログラムを指します。
|
6
6
|
|
7
7
|
|
8
8
|
|
@@ -10,9 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
1つ目の質問の「ActiveX (COM) コンテナアプリケーションとは何ですか」の回答としては以上です。
|
13
|
+
1つ目の質問の「ActiveX (COM) コンテナアプリケーションとは何ですか」の回答としては以上です。では、2つ目の「Pythonから呼び出せますか?」への回答ですが、基本的に「はい」です。
|
14
|
-
|
15
|
-
では、2つ目の「Pythonから呼び出せますか?」への回答ですが、基本的に「はい」です。
|
16
14
|
|
17
15
|
ただし、質問者様が使いたいと考えている製品のActive Xコントロールは、Python からは使うのが困難なようです。(後述します)
|
18
16
|
|
@@ -20,19 +18,15 @@
|
|
20
18
|
|
21
19
|
基本的に、PythonからActive Xコントロールを操作するには以下のようにします。
|
22
20
|
|
23
|
-
0. 製品をインストールする。これでActive XコントロールがWindows に登録され、
|
24
|
-
|
25
|
-
外部のプログラムから参照/利用できるようになる。(もちろん、インストーラーに依存する)
|
21
|
+
0. 製品をインストールする。これでActive XコントロールがWindows に登録され、外部のプログラムから参照/利用できるようになる。(もちろん、インストーラーに依存する)
|
26
|
-
|
27
|
-
|
28
|
-
|
22
|
+
|
23
|
+
|
24
|
+
|
29
|
-
1. Python のwin32com モジュールを使用し、Active X コントロールを操作する。
|
25
|
+
1. Python のwin32com モジュールを使用し、Active X コントロールを操作する。ここで注意しなければならないことは、Pythonもwin32comモジュールも32ビット版を使用することです。(Active Xコントロールが32ビット版であればそれに合わせる)
|
30
|
-
|
31
|
-
|
26
|
+
|
32
|
-
|
33
|
-
|
27
|
+
|
34
|
-
|
28
|
+
|
35
|
-
当方では以下の環境で試しています。
|
29
|
+
当方では以下の環境で試していますので、以下の説明もこれに沿います。
|
36
30
|
|
37
31
|
- Windows 7 Enterprise Edition (64ビット)
|
38
32
|
|
@@ -44,7 +38,7 @@
|
|
44
38
|
|
45
39
|
|
46
40
|
|
47
|
-
例:Internet Explorer を操作して、teratailのこの質問を開く
|
41
|
+
例:Internet Explorer を操作して、teratailのこの質問を開くには以下のようにします。
|
48
42
|
|
49
43
|
```Python
|
50
44
|
|
@@ -106,7 +100,7 @@
|
|
106
100
|
|
107
101
|
製品のサンプルコードのページ「その他のサンプルプログラム(※あえてリンクは示していません)」で、各種のExcelVBAでのサンプルアプリケーションが紹介されています。実際にやりたいことはこれらのExcelVBAのサンプルを参考に、Python + win23comモジュールで実装していければ良いのですが、一部のコード `ActiveMarket.Prices.Read()` メソッドに関してPython win32comモジュールのインターフェースではActive Xコントロール側へ正しい値を渡せない問題がありました。(上記サンプルコードで一部を示していますが、これも不完全です)
|
108
102
|
|
109
|
-
これはどちらのバグと言う訳ではなく、制限事項になることだと考えています。(もともとPython win32comモジュールはWindowsとのインターフェースの便宜を図ろう、と言う
|
103
|
+
これはどちらのバグと言う訳ではなく、制限事項になることだと考えています。(もともとPython win32comモジュールは、Windowsとのインターフェースの便宜を図ろう、と言う目的であろうから)
|
110
104
|
|
111
105
|
|
112
106
|
|
@@ -126,11 +120,11 @@
|
|
126
120
|
|
127
121
|
|
128
122
|
|
129
|
-
Visual Studio で.NET Frameworkベースの言語でActive Xコントロールを使用するのは、簡単です。
|
130
|
-
|
131
|
-
実際、Visual Studio 2012 + C#でテストプログラムを作り、今回の"Pan Active Market Database 1.3" Active Xコントロールを利用して、指定銘柄の指定範囲の株価の終値一覧を読み出すことができました。
|
123
|
+
Visual Studio で.NET Frameworkベースの言語でActive Xコントロールを使用するのは、簡単です。実際、Visual Studio 2012 + C#でテストプログラムを作り、今回の"Pan Active Market Database 1.3" Active Xコントロールを利用して、指定銘柄の指定範囲の株価の終値一覧を読み出すことができました。
|
124
|
+
|
125
|
+
|
126
|
+
|
132
|
-
|
127
|
+
具体的には以下のような簡単な手順で作ることができるようになります。
|
133
|
-
|
134
128
|
|
135
129
|
0. 製品(相場アプリケーション)をインストールする。
|
136
130
|
|
@@ -138,7 +132,7 @@
|
|
138
132
|
|
139
133
|
|
140
134
|
|
141
|
-
|
135
|
+
抜粋ですが、コードの実例を示します。WPFアプリケーションです。
|
142
136
|
|
143
137
|
```C#
|
144
138
|
|
@@ -200,7 +194,7 @@
|
|
200
194
|
|
201
195
|
```
|
202
196
|
|
203
|
-
各種のメソッドやその引数は、Visual Studio に標準で装備されている「オブジェクトブラウザー」で
|
197
|
+
各種のメソッドやその引数は、Visual Studio に標準で装備されている「オブジェクトブラウザー」で確認することができます。これとExcelVBAのサンプルを参考に実装していけばよろしいかと思います。クラスやメソッドの細かい使用方法については、販売元/開発元に正規のライセンスに沿って尋ねていくのが順当でしょう。
|
204
198
|
|
205
199
|
|
206
200
|
|