0

次のスニペットでは、最初のアサーションは成功し、2 番目のアサーションは失敗します (bStat=False)。ただし、選択は実際には成功しています (平面が選択されています)。

私は何が欠けていますか?アドバイス/説明ありがとう

bStat = swDocExt.SelectByID2(FirstSelection, "PLANE", 0, 0, 0, False, 0, Nothing, swSelectOptionDefault) 
Debug.Assert bStat  

bStat = swDocExt.SelectByID2(SecondSelection, "PLANE", 0, 0, 0, True, 0, Nothing, swSelectOptionDefault)
Debug.Assert bStat 

注: FirstSelection = "Front Plane@2x6 Wall-1@Assem1"

SecondSelection = "Front Plane@Assem1"

4

1 に答える 1

0

このコードを記述どおりに実行すると仮定すると、2 番目の SelectByID2 で「false」を取得する方法は 1 つしかありません。

FM でこの平面を選択する際に、マクロを記録してみてください (グラフィカル領域で平面を選択した場合、それらの ID はおそらく空白のままになります)。その後、好みの言語でマクロを保存し、編集用に開くと、マクロにアクセスできる ID が表示されます。

これらの行の間にコードがある場合は、おそらくこの平面を既に選択しており、2 回目に選択しようとしており、この場合、選択は false を返します。

于 2015-03-09T11:53:12.810 に答える