図面でExcel部品表をマクロで非表示にしたい

すみませんどうしても分からなくて投稿しました。

図面でExcel部品表を挿入してあるのですが、これを非表示にするのは、部品表直接か、ツリーアイテムで右クリック→非表示で出来るのは分かりました。

これをVBAマクロで実行するにはどういう風にすればいいかが、調べてもも分からなかったです。

どなたかご存じの方がいらっしゃいましたら教えていただけないかと思います。

すみませんがよろしくお願いします。

コメント

コメント表示順: リミット: オートロード:
  • 佐藤和巳 24 日前

    山本さんコメントありがとうございます。

    Featureで取得できたという情報ありがとうございます。

    英語のメニューにして、部品表を右クリックしたときの非表示の英語は、"Hide”だったので、なにかこれに関係したパラメータとかあればいいのですが…。

  • 山本誠 24 日前

    非表示にすることはできませんでしたが、Excel部品表のFeatureオブジェクト取得までは出来ました。
    (適当に書いたのでいろいろ改善の余地はあるとはおもいますが...)
    あとは、ここから何とか非表示にまで持っていけると良いけど、
    部品表を非表示にするためのメソッドかプロパティは不明です。

    Dim swApp                   As SldWorks.SldWorks
    Dim swModel                 As SldWorks.ModelDoc2

    Sub main()

        Set swApp = Application.SldWorks
        Set swModel = swApp.ActiveDoc
        
        Dim swFearureMng As SldWorks.FeatureManager
        Set swFearureMng = swModel.FeatureManager
        
        Dim objFeatures As Variant
        Dim lngFeatureCount As Long
        objFeatures = swFearureMng.GetFeatures(False)
        lngFeatureCount = swFearureMng.GetFeatureCount(False)
        
        Dim i As Long
        Dim iFeatures As SldWorks.Feature
        Dim iFeatureName As String
        For i = 0 To lngFeatureCount - 1
            Set iFeatures = objFeatures(i)
            
            iFeatureName = iFeatures.Name
            If iFeatureName = "部品表1" Then
                    Call iFeatures.SetSuppression2(swFeatureSuppressionAction_e.swSuppressFeature, swInConfigurationOpts_e.swAllConfiguration, "")
            End If
        Next

    End Sub