kurage
新人さん
オフライン
投稿: 7
I'm a llama!
|
|
なぜ止まる?ExcelVBAを利用してアセンブリに部品挿入
« 投稿日: 2014/06/17 - 12:25:37 » |
|
つい最近SOLIDWORKSの勉強をし始めたものです。 過去トピックにあった”ExcelVBAを利用してアセンブリに部品挿入 ”をやってみたいのですが、 Set swApp = CreateObject("SldWorks.Application") の部分でオブジェクトが取得できない旨のエラーが出ます。 どこをどういじれば動くようになるでしょうか?
環境 SOLIDWORKS 2014(seetworks)64bit windows7 64bit EXSEL 2010
サポートも当てにならず、何分始めたばかりでよくわかりません。よろしくお願いいたします。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:なぜ止まる?ExcelVBAを利用してアセンブリに部品挿入
« 返信 #1 投稿日: 2014/06/19 - 16:39:34 » |
|
詳細を把握しているわけではないですが、以下の用に.22を付けてみてはどうでしょうか? Set swApp = CreateObject("SldWorks.Application.22")
|
|
|
|
kurage
新人さん
オフライン
投稿: 7
I'm a llama!
|
|
Re:なぜ止まる?ExcelVBAを利用してアセンブリに部品挿入
« 返信 #2 投稿日: 2014/06/19 - 22:16:31 » |
|
Makoron様 Set swApp = CreateObject("SldWorks.Application.22") これもやってみたのですが、全く反応がなく困っております。 Long→LongPtrにも変えてみました。 Declareキーワードの後にPTRSAFEキーワード→反応なし あと試してみることはあるのでしょうか?
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:なぜ止まる?ExcelVBAを利用してアセンブリに部品挿入
« 返信 #3 投稿日: 2014/06/23 - 09:58:56 » |
|
まだ2014の環境がないのではっきりしたことは言えないのですが... レジストリに以下のキーは存在していますか? HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SldWorks.Application
CreateObjectはこのキーの名前でオブジェクトを取得しているような気もするので...
SheetWorksの環境は見たことがないのですが、もしかするとそれが影響しているかもしれませんね。
|
|
|
|
kurage
新人さん
オフライン
投稿: 7
I'm a llama!
|
|
Re:なぜ止まる?ExcelVBAを利用してアセンブリに部品挿入
« 返信 #4 投稿日: 2014/06/24 - 12:32:09 » |
|
Makoron様
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SldWorks.Application
は存在しているようです。
サポート元の連絡では、soldworksのサポートに連絡したが、solidworks側では問題が発生しない とのこと、開発元に聞いてみるということでした.
結果分かり次第、書き込みいたします。
|
|
|
|
kurage
新人さん
オフライン
投稿: 7
I'm a llama!
|
|
Re:なぜ止まる?ExcelVBAを利用してアセンブリに部品挿入
« 返信 #5 投稿日: 2014/06/24 - 17:33:57 » |
|
問い合わせの回答が来ました。 Option Explicit
Const PI As Double = 3.141592
Public swApp As SldWorks.SldWorks
' サンプル Sub AddPart() Dim swModelDoc2 As SldWorks.ModelDoc2 Dim swAssemblyDoc As SldWorks.AssemblyDoc Dim lngErrors As Long Dim lngWarnings As Long Dim blnRet As Boolean Dim RET As Long ' Solidworks起動 RET = Shel("C:\ProgramFiles\SheetWorks\Sheetworks.exe", vbNormalFocus) Set swApp = CreateObjec("SheetWorksBaseCAD.Application") swApp.UserControl = True swApp.Visible = True
だそうです・・・・サポートに聞かないとわかんないですね。
|
|
|
|
Makoron
カタマリの王様!?
オフライン
投稿: 1277
SW2011SP5.0
|
|
Re:なぜ止まる?ExcelVBAを利用してアセンブリに部品挿入
« 返信 #6 投稿日: 2014/06/25 - 12:17:52 » |
|
Set swApp = GetObject(,"SheetWorksBaseCAD.Application") の方が良さげに思いますが、実際に試せないのでわからないです。
|
|
|
|
kurage
新人さん
オフライン
投稿: 7
I'm a llama!
|
|
Re:なぜ止まる?ExcelVBAを利用してアセンブリに部品挿入
« 返信 #7 投稿日: 2014/06/26 - 07:51:26 » |
|
Makoron様
試してみました、どちらが良いのかよく分からないのですが、確実に動作しております・・・が サポートに聞いた物でもそうですが、起動した状態からしかまともに動かないのです。 (実行時エラー”91”) これは起動が間に合っていないのか、別の要因なのかはわからない情況です。
|
|
|
|