仕事のカタマリにようこそ!  [ ログイン | ユーザ登録 ]
フォーラムから検索

機械用3D-CAD SolidWorks非公認のユーザサイトです
 
 
Web katamari.org
仕事のカタマリ
ホーム リンク集 ダウンロード フォーラム(掲示板) FAQ お問い合わせ









フォーラムニュース: 質問、相談カテゴリに「SolidWorks操作方法」に関するフォーラムを追加しました。(2003/11/27)
いらっしゃい、 ゲストさん. まずはこちら→ ログイン または 登録. 2024/05/06 - 04:35:56
ホーム ヘルプ 検索 ログイン 登録

仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: オブジェクト変数または..... 前のトピック 次のトピック
ページ: [1] Page Bottom 返信 返信のお知らせ Print 
   著者  トピック: オブジェクト変数または.....  (閲覧数 4117 回)
zarigani
Sr. メンバー
****

オフライン

投稿: 61



I'm a zarigani

プロファイルを見る
オブジェクト変数または.....
« 投稿日: 2012/07/17 - 13:12:12 »
引用して返信

 ちょっと初歩的な質問申し訳ありませんが、

これまでWindowsXPで利用してた2009で開発したプログラムを、Windows7上の
2012で利用しようとしたところ、いきなり
「boolstatus = Part.Extension.SelectByID2("平面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)」
の部分で、「オブジェクト変数またはwithブロック変数が・・・・」のエラーがでました。

参照設定をいろいろ変更したのですが、全く関係ないようです。

ちなみに、APIはエクセルマクロの中で利用しております。
また、ソリッドワークスで、マクロの記録を使ったものでは、この部分に関して問題ありません。
したがって、エクセルから実行したら問題が出るようです。
2009の時にはこのようなエラーは出なかったのですが。

同様の問題を経験した方で、何かヒントになるものでもあればよろしくお願いいたします。

議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:オブジェクト変数または.....
« 返信 #1 投稿日: 2012/07/17 - 20:22:27 »
引用して返信

zariganiさん、こんばんは

その行に至った時点で、エラーメッセージが出ているという事は、Partがウマく取得できていないのが原因だと思います。
(SW2012でもSelectByID2は健在なので)

どうやってPartを取得させているかで対処方法は変わると思いますが、もしWindows7の64bit版ですと、Microsoftが64bit環境でのVBA動作を保証していないので、64bit版による問題の可能性もあります。
VSTAであれば、64bit版でもOKなはずです。
と、簡単に言っちゃってますが…

もしくは、SW2012の環境設定によってもPartが取得できない可能性も有りますね。
(アセンブリ上の構成部品からPartを取得しているのであれば、ライトウェイト設定になっているとか)

とりあえず、パッと思いついたことだけ書いてみました。

ご参考まで
議長に報告する   記録済み
zarigani
Sr. メンバー
****

オフライン

投稿: 61



I'm a zarigani

プロファイルを見る
Re:オブジェクト変数または.....
« 返信 #2 投稿日: 2012/07/17 - 22:07:23 »
引用して返信

hisaさん お久しぶりです。
 ありがとうございます。
 おっしゃるとおりPartが取得できていないようですね。
 そんなことがあるって知りませんでした。

 「Microsoftが64bit環境でのVBA動作を保証していないので、」であれば、如何ともしがたいですが、
何か裏技でも見つかればお教えください。

議長に報告する   記録済み
zarigani
Sr. メンバー
****

オフライン

投稿: 61



I'm a zarigani

プロファイルを見る
Re:オブジェクト変数または.....
« 返信 #3 投稿日: 2012/07/17 - 22:26:05 »
引用して返信

hisaさん
 何度も済みません。
 別に作成したプログラムでは、Windows7 64ビット版上で問題なく動作しているのがちょっと不可解なんですが。

議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:オブジェクト変数または.....
« 返信 #4 投稿日: 2012/07/17 - 23:45:26 »
引用して返信

そうですね…
保障してないだけで動く可能性はある、というのが厄介なところなんです
正常に動いてくれない処理だけ他言語でライブラリ化してVBA側で呼び出す、なんて事も考えれるかも知れないですが、そのライブラリが動く保障も無いので微妙なところです。

ですので、正常に動いてくれないものはVSTAにすることが一番では無いかと思います…
議長に報告する   記録済み
zarigani
Sr. メンバー
****

オフライン

投稿: 61



I'm a zarigani

プロファイルを見る
Re:オブジェクト変数または.....
« 返信 #5 投稿日: 2012/07/18 - 09:13:09 »
引用して返信

hisaさん ありがとうございます。
 今更あのVISTAに戻る気もないので、動くプログラムと比較しながら、
また、WindowsXP上の2009とも比較しながら検討してみたいと思います。
 また、なにかお気づきのことでもあればよろしくお願いいたします。

議長に報告する   記録済み
hisa
カタマリの王様!?
*****

オフライン

投稿: 507



PANDA-Z!!

プロファイルを見る WWW
Re:オブジェクト変数または.....
« 返信 #6 投稿日: 2012/07/18 - 10:35:22 »
引用して返信

あ、VISTAではなくてVSTA(Visual Studio Tools for Application)です。
VBAでは無いマクロです。

ですが、よく読むとExcel上のマクロでしたね…
Excel側にもVSTO(Visual Studio Tools for Office:Visual Studioが必要)というものがあるようですが、その辺りは自分も触れたことが無いので何とも言えません
議長に報告する   記録済み
katze
Jr. メンバー
**

オフライン

投稿: 13



I'm a llama!

プロファイルを見る
Re:オブジェクト変数または.....
« 返信 #7 投稿日: 2012/07/18 - 13:26:50 »
引用して返信

横から失礼します。
私も似たような経験中です。(現在進行形)

環境をWindows7x64に移して、ExcelVBAからSolidWorksを操作するマクロを動かした所、、「オブジェクト変数またはwithブロック変数が・・・・」のエラーになりました。
調べたところ、partが取得できていない。
結局 GetObject だけで 実行時エラー 429 が出てきました。
で、カタマリを検索していましたら、ライセンスキーが必要らしい、ということになり、現在申請中です。(遅いゾSWC)

パソコンにはSolidWorksの複数バージョンがインストールされていたのですが、別件でトラぶって、2011をアンインストール、インストールしました。
が、何とマクロも動くようになりました。
参照していたDLLが入れ替わったのでしょうか。

と言うわけで、何だか分からない〜状態なんですが、ライセンスキーは今後のこともあるので処理しておこうと思っています。

以上参考になるかどうか分かりませんが、私の経過報告です。
議長に報告する   記録済み
zarigani
Sr. メンバー
****

オフライン

投稿: 61



I'm a zarigani

プロファイルを見る
Re:オブジェクト変数または.....
« 返信 #8 投稿日: 2012/07/18 - 14:48:16 »
引用して返信

hisaさん よく確認せずに勝手にVISTAと読んでしまいました。失礼しました。

katzeさん なんかいろいろなことがあるんですね。ただSWのAPIは何かクセがあって、飼い慣らすのが大変ですね。
 その点、仕事のカタマリのサイトは頼もしいです。
議長に報告する   記録済み
ページ: [1] Page Top 返信 返信のお知らせ Print 
仕事のカタマリ 掲示板  |  SolidWorks一般  |  SolidWorksのカスタマイズ (議長: webmaster)  |  トピック: オブジェクト変数または..... 前のトピック 次のトピック
ジャンプします: