

C#でVisioの操作をしています。  
VisioのC#によるコードはあまり情報がなく、VBAのコードを真似て書いています。

やりたいことは「すべてのレイヤーをアクティブにしてすべてのシェイプを表示したい」です。  
下記コードですべてのレイヤーのVisibleをTrueにすることは確認できました。

[code]

    using Microsoft.Office.Interop.Visio;
    
    Document doc = app.Documents.OpenEx(f, (short)VisOpenSaveArgs.visOpenMacrosDisabled);
    Page page = doc.Pages[1];
    
    foreach(Layer layer in  page.Layers)
    {
      //すべてのレイヤーのVisibleをTrueにする。
      layer.CellsC[((short)VisCellIndices.visLayerVisible)].FormulaU = "1";
    }
    　
    doc.Save();
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/IjVTh.png)](https://i.stack.imgur.com/IjVTh.png)

しかし、もともと非表示にしていたレイヤーに属するシェイプは、実際には表示されず、かつ消えています。  
上記コードではレイヤーを有効にしてシェイプを表示することはできないのでしょうか。


CC BY-SA 4.0
2021-08-30T12:15:33.533
81118
2021-08-30T12:15:33.533
12388
question
c# visio
C#でVisioのレイヤーをすべて有効にし、すべてのシェイプを表示させたい