Style 屬性 (Visio)

會傳回代表 ShapeSheet 儲存格的 cell 物件。 唯讀。

語法

運算式儲存格 (localeSpecificCellName)

運算式 代表 Style 物件的變數。

參數

名稱 必要/選用 資料類型 描述
localeSpecificCellName 必要 String ShapeSheet 儲存格的名稱。

傳回值

儲存格

註解

儲存格 ( "somestring" ) 會引發「意外的檔案結尾」例外狀況,如果 "somestring" 並未命名實際的儲存格。 您可以使用 CellExists 屬性來確定名為 "somestring" 的儲存格是否真的存在。

圖形的 [使用者自訂儲存格] 和 [圖形資料] 區段中的儲存格,屬於已由使用者或程式指派名稱的列。 您可以使用 Cells 屬性來存取已命名列中的儲存格。

例如,如果 "Row_1" 是圖形的 [使用者自訂儲存格] 區段中列的名稱,您可以使用這個陳述式來存取這個列中的第一個儲存格 (也就是資料欄零中存放列名稱的儲存格):

vsoCell = vsoShape.Cells("User.Row_1")

您可以使用這個陳述式來存取 Row_1 中的提示儲存格:

vsoCell = vsoShape.Cells("User.Row_1.Prompt")

接下來,假設 Row_1 是位於 [圖形資料] 區段,而不是 [使用者自訂儲存格] 區段。 您可以使用這個陳述式來存取此列中的第一個儲存格 (也就是資料欄零中存放列名稱的儲存格):

vsoCell = vsoShape.Cells("Prop.Row_1")

您可以使用這個陳述式來存取列中的其他儲存格:

vsoCell = vsoShape.Cells("Prop.Row_1.xxx")

其中, xxx 是下列其中一個儲存格: Label、Prompt、SortKey、Type、Format、隱形或 Ask。

注意

從 Microsoft Visio 2000 開始,您可以使用本機和通用名稱來參照 Visio 圖形、主控、檔、頁面、列、附加元件、儲存格、超連結、樣式、字型、主圖形快捷方式、UI 物件及層級。 例如,當使用者命名圖案時,使用者就會指定本機名稱。 從 Microsoft Office Visio 2003 開始,ShapeSheet 試算表會在儲存格公式和值中只顯示通用名稱。 (在先前的版本中,不會在使用者介面中看到通用名稱。 )

身為開發人員,如果您不希望每次將方案本土化時就要變更名稱,可以在程式中使用通用名稱。 使用 Cells 屬性可取得 cell 物件的儲存格的本機名稱。 使用 CellsU 屬性可取得 cell 物件使用儲存格的通用名稱。

範例

這個 Microsoft Visual Basic for Applications (VBA) 宏會示範如何使用 Cells 屬性,依其名稱取得特定 ShapeSheet 儲存格。 它會在頁面上繪製矩形,然後將圖形的線條變更為弧線來彎曲矩形的線條。 可以將矩形每個側邊的 ShapeSheet 列類型從 LineTo 變更為 ArcTo,然後變更其中每個列的 X 和 Y 儲存格的值來完成這項作業。

 
Public Sub Cells_Example() 
 
 Dim vsoPage As Visio.Page 
 Dim vsoShape As Visio.Shape 
 Dim vsoCell As Visio.Cell 
 Dim strBowCell As String 
 Dim strBowFormula As String 
 Dim intCounter As Integer 
 
 'Set the value of the strBowCell string. 
 strBowCell = "Scratch.X1" 
 
 'Set the value of the strBowFormula string. 
 strBowFormula = "=Min(Width, Height) / 5" 
 
 Set vsoPage = ActivePage 
 
 'If there isn't an active page, set vsoPage 
 'to the first page of the active document. 
 If vsoPage Is Nothing Then 
 Set vsoPage = ActiveDocument.Pages(1) 
 End If 
 
 'Draw a rectangle on the active page. 
 Set vsoShape = vsoPage.DrawRectangle(1, 5, 5, 1) 
 
 'Add a scratch section and add a row to the scratch section. 
 vsoShape.AddSection visSectionScratch 
 vsoShape.AddRow visSectionScratch, visRowScratch, 0 
 
 'Set vsoCell to the Scratch.X1 cell and set its formula. 
 Set vsoCell = vsoShape.Cells(strBowCell) 
 vsoCell.Formula = strBowFormula 
 
 'Bow in or curve the rectangle's lines by changing 
 'each row type from LineTo to ArcTo and entering the bow value. 
 For intCounter = 1 To 4 
 vsoShape.RowType(visSectionFirstComponent, visRowVertex + intCounter) = visTagArcTo 
 Set vsoCell = vsoShape.CellsSRC(visSectionFirstComponent, visRowVertex + intCounter, 2) 
 vsoCell.Formula = "-" & strBowCell 
 Next intCounter 
 
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應