質問編集履歴

2

コードが見づらかったため修正

2016/10/19 00:27

投稿

zai
zai

スコア12

test CHANGED
File without changes
test CHANGED
@@ -60,6 +60,8 @@
60
60
 
61
61
  ###該当のソースコード
62
62
 
63
+ ```ここに言語を入力
64
+
63
65
  Private Sub Exec()
64
66
 
65
67
 
@@ -276,6 +278,8 @@
276
278
 
277
279
  End Class
278
280
 
281
+ ```
282
+
279
283
  ###試したこと
280
284
 
281
285
  エラーの{95CD20AA-AD72-11D3-B086-0010A4F5C335}をGoogleで検索するとIllustratorCS5関連の情報が表示されたため、PCのインストール状況を確認しましたが、IllustratorCS5はインストールされておらず、IllustratorCS4がインストールされていました。

1

前提の修正、ソースと補足の追加

2016/10/19 00:27

投稿

zai
zai

スコア12

test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  VB.NETアプリケーションからIllustratorを起動し、Illustratorへ図を出力する仕組みを使っていて、そのアプリケーションをWindows10版にすることになりました。
4
4
 
5
+ もともと、WindowsXPとIllustratorCSで動作していたもので、
6
+
7
+ 作成者も退職しておりません。
8
+
9
+ Windows7で動作することは確認しました。
10
+
11
+
12
+
5
13
  Windows10のPCが複数台あり、それぞれIllustratorをインストールしています。
6
14
 
7
15
  Windows10は、32bitと64bit
@@ -42,15 +50,231 @@
42
50
 
43
51
 
44
52
 
53
+ 下記ソースコードのExecのtry-catchでエラーとなっていると思われます。
54
+
55
+ catchのイラストレータの初期化に失敗しましたのメッセージが
56
+
57
+ アプリ上に上記のエラーメッセージとともに表示されています。
58
+
59
+
60
+
45
61
  ###該当のソースコード
46
62
 
63
+ Private Sub Exec()
64
+
65
+
66
+
67
+ Dim lblDlg As New SetLabelDelegate(AddressOf setLabel)
68
+
69
+ Dim stsDlg As New SetStatusDelegate(AddressOf setStatus)
70
+
71
+ 'Dim clsDlg As New CloseFrmDelegate(AddressOf closeFrm)
72
+
73
+ Dim btnDlg As New SetBtnDelegate(AddressOf setBtn)
74
+
75
+ Dim tagDlg As New GetLabelTagDelegate(AddressOf getLabelTag)
76
+
77
+ Dim tag As String = ""
78
+
79
+
80
+
81
+ Dim hdDlg As New HideProgressDelegate(AddressOf hideProgress)
82
+
83
+ Dim actDlg As New ActivateFormDelegate(AddressOf activateForm)
84
+
85
+
86
+
87
+ Dim before As DateTime = DateTime.Now
88
+
89
+
90
+
91
+ '処理前 画面処理
92
+
93
+ Invoke(lblDlg, New Object() {"Adobe Illustrator 起動チェック!"})
94
+
95
+ Call startIllustrator()
96
+
97
+
98
+
99
+ 'illustrator初期化
100
+
101
+ Try
102
+
103
+ 'イラストレータ準備中
104
+
105
+ Invoke(lblDlg, New Object() {"イラストレータ準備中"})
106
+
107
+
108
+
109
+ 'インスタンス化
110
+
111
+ IllFunc = New IllustrationFunction
112
+
113
+
114
+
115
+ '画面アクティブ
116
+
117
+ Invoke(actDlg)
118
+
119
+
120
+
121
+ Catch ex As Exception
122
+
123
+ Invoke(stsDlg, New Object() {"イラストレーターの初期化に失敗しました", ex.Message, True, False})
124
+
125
+ Invoke(btnDlg, New Object() {"終了", True})
126
+
127
+ Exit Sub
128
+
129
+ End Try
130
+
47
- ```ここに言語を入力
131
+ '...省略
132
+
48
-
133
+ End Sub
134
+
135
+
136
+
137
+ 'Illustrator起動
138
+
139
+ Private Sub startIllustrator()
140
+
141
+
142
+
143
+ 'ローカルコンピュータ上で実行されている"Illustrator"という名前の
144
+
145
+ 'すべてのプロセスを取得
146
+
147
+ Dim ps As System.Diagnostics.Process() = _
148
+
149
+ System.Diagnostics.Process.GetProcessesByName("Illustrator")
150
+
151
+
152
+
153
+ If ps.Length = 0 Then
154
+
155
+ Call System.Diagnostics.Process.Start("Illustrator")
156
+
157
+ Debug.Print("Process.Start" & DateTime.Now)
158
+
159
+ wait(1000)
160
+
161
+ End If
162
+
163
+ End Sub
164
+
165
+
166
+
167
+ 'Illustrator用クラス
168
+
169
+ Public Class IllustrationFunction : Implements System.IDisposable
170
+
171
+
172
+
173
+ 'Illustratorオブジェクト群
174
+
175
+ Private aiApp As Illustrator.Application 'アプリケーション
176
+
177
+ Private aiDoc As Illustrator.Document 'ドキュメント
178
+
179
+ Private aiTemplateDoc As Illustrator.Document 'ドキュメント(テンプレートファイル)
180
+
181
+ Private aiFonts As Illustrator.TextFonts 'フォント群
182
+
183
+
184
+
185
+ '色オブジェクト(固定値)
186
+
187
+ Private CMYKWhite As Illustrator.CMYKColor 'CMYKカラーオブジェクト
188
+
189
+ Private CMYKBlack As Illustrator.CMYKColor 'CMYKカラーオブジェクト
190
+
191
+
192
+
193
+ '現在選択中のオブジェクト群
194
+
195
+ Private thisLayer As Illustrator.Layer 'レイヤー
196
+
197
+ Private thisText As Illustrator.TextFrame 'テキストフレーム
198
+
199
+ Private thisPath As Illustrator.PathItem 'パス
200
+
201
+ Private thisGroup As Illustrator.GroupItem 'グループ
202
+
203
+ Private tempLayer As Illustrator.Layer 'レイヤー(一時)
204
+
205
+
206
+
207
+ Private _lastStep As String 'エラー検知用ステップログ
208
+
209
+
210
+
211
+ Const MM2PT As Double = 2.83464567 'ミリメートルをポイントに変更する際の掛け率
212
+
213
+ Const PT2MM As Double = 0.352777778 'ポイントをミリメートルに変更する際の掛け率
214
+
215
+
216
+
217
+ Private disposed As Boolean ' Track whether Dispose has been called.
218
+
219
+ Private handle As IntPtr ' Pointer to an external unmanaged resource.
220
+
221
+
222
+
223
+ ''' <summary>
224
+
225
+ ''' Illustratorのオブジェクトを取得する。
226
+
227
+ ''' </summary>
228
+
229
+ ''' <remarks>使用法:インスタンス化</remarks>
230
+
231
+ Public Sub New()
232
+
233
+
234
+
235
+ 'Dispose時使用
236
+
237
+ Me.handle = handle
238
+
239
+
240
+
241
+ 'コトハジメのアプリケーションオブジェクトとフォントオブジェクトを取得
242
+
243
+ aiApp = New Illustrator.Application()
244
+
49
- ここにご自身が実行したソースコードを書いてください
245
+ aiFonts = aiApp.TextFonts
246
+
247
+
248
+
50
-
249
+ '色オブジェクトを設定
250
+
251
+ CMYKWhite = New Illustrator.CMYKColor()
252
+
253
+ CMYKBlack = New Illustrator.CMYKColor()
254
+
255
+ CMYKWhite.Cyan = 0
256
+
257
+ CMYKWhite.Magenta = 0
258
+
259
+ CMYKWhite.Yellow = 0
260
+
261
+ CMYKWhite.Black = 0
262
+
263
+ CMYKBlack.Cyan = 0
264
+
265
+ CMYKBlack.Magenta = 0
266
+
267
+ CMYKBlack.Yellow = 0
268
+
269
+ CMYKBlack.Black = 100
270
+
271
+
272
+
51
- ```
273
+ End Sub
274
+
52
-
275
+ '...省略
276
+
53
-
277
+ End Class
54
278
 
55
279
  ###試したこと
56
280
 
@@ -62,4 +286,4 @@
62
286
 
63
287
  ###補足情報(言語/FW/ツール等のバージョンなど)
64
288
 
65
- より詳細情報
289
+ 開発用のWindows10のPCと本番用のWindows10のPCで、どこかに違いがあるのではいかと考え、調査しているところです。