Page. GetFormulasU-Methode (Visio)Page.GetFormulasU method (Visio)

Gibt die Formeln vieler Zellen zurück.Returns the formulas of many cells.

SyntaxSyntax

Ausdruck.expression. GetFormulasU( _SID_SRCStream()_ , _formulaArray()_ )

Ausdruck Eine Variable, die ein Page -Objekt darstellt.expression A variable that represents a Page object.

ParameterParameters

NameName Erforderlich/OptionalRequired/Optional DatentypData type BeschreibungDescription
SID_SRCStream()SID_SRCStream() ErforderlichRequired IntegerInteger Datenstrom, der die abzufragenden Zellen identifiziert.Stream identifying cells to be queried.
FormulaArray ()formulaArray() ErforderlichRequired VariantVariant Ausgabeparameter.Out parameter. Ein Array, das Formeln abgefragter Zellen empfängt.Array that receives formulas of queried cells.

RückgabewertReturn value

NichtsNothing

BemerkungenRemarks

Die GetFormulasU -Methode ähnelt der FormulaU -Eigenschaft eines Cell -Objekts, außer Sie können Sie verwenden, um die Formeln vieler Zellen gleichzeitig zu erhalten, statt eine Zelle zu einem Zeitpunkt.The GetFormulasU method is like the FormulaU property of a Cell object, except you can use it to obtain the formulas of many cells at once, rather than one cell at a time. Die GetFormulasU -Methode ist eine Spezialisierung **** der GetResults-Methode, die zum Abrufen von Zellen Formeln oder-Ergebnissen verwendet werden kann.The GetFormulasU method is a specialization of the GetResults method, which can be used to obtain cell formulas or results. Das Einrichten eines Aufrufs für die GetFormulasU -Methode erfordert etwas weniger Arbeit als das Einrichten der GetResults-Methode. ****Setting up a call to the GetFormulasU method involves slightly less work than setting up the GetResults method.

Mit der GetFormulasU-Methode können Formeln in der universellen Syntax einer beliebigen Gruppe von Zellen in einer beliebigen Gruppe von Shapes des Zeichenblatts oder des Masters abgerufen werden.You can use the GetFormulasU method to get formulas in universal syntax of any set of cells in any set of shapes of the page or master.

SID_SRCStream() ist ein Array von ganzen 2-Byte-Zahlen.SID_SRCStream() is an array of 2-byte integers. SID_SRCStream () sollte ein eindimensionales Array von 4 n 2-Byte-Ganzzahlen für n >= 1 sein.SID_SRCStream() should be a one-dimensional array of 4 n 2-byte integers for n >= 1. Die GetFormulasU-Methode interpretiert SID_SRCStream() folgendermaßen:The GetFormulasU method interprets SID_SRCStream() as:

{sheetID, sectionIdx, rowIdx, cellIdx}n

Dabei ist sheetID die ID-Eigenschaft des Shape-Objekts auf dem Zeichenblatt oder Master, dessen Zellformel abgerufen werden soll.where sheetID is the ID property of the Shape object on the page or master whose cell formula is desired.

Hinweis

Wenn die Tabellen -Nr in einem Eintrag visInvalShapeID (-1) ist oder wenn das untere Byte __ von dabei sectionidx visSectionInval (255) ist, wird der Eintrag ignoriert, und eine leere Variante wird im entsprechenden Ergebnisarray Eintrag zurückgegeben.If the sheetID in an entry is visInvalShapeID (-1) or if the bottom byte of sectionIdx is visSectionInval (255), the entry will be ignored and an empty variant will be returned in the corresponding results array entry. Der Grund hierfür ist, dass das gleiche SID_SRCStream () -Array für mehrere Aufrufe von GetFormulasU, SetFormulas und ähnlichen Methoden verwendet werden kann, wobei der Anrufer nur geringfügige Änderungen am Datenstrom zwischen Aufrufen vornehmen muss. ****The reason for this is that the same SID_SRCStream() array can be used on several calls to GetFormulasU, SetFormulas, and similar methods with the caller only needing to make minor changes to the stream between calls.

Wenn die GetFormulasU -Methode erfolgreich ist, gibt FormulaArray () ein eindimensionales Array von n -Varianten zurück, die von 0 bis n -1 indiziert sind.If the GetFormulasU method succeeds, formulaArray() returns a one-dimensional array of n variants indexed from 0 to n - 1. Jede Variante gibt eine Formel als Zeichenfolge zurück.Each variant returns a formula as a string. FormulaArray () ist ein out-Parameter, der von der GetFormulasU -Methode reserviert wird, die den Besitzer zurück an den Aufrufer übergibt.formulaArray() is an out parameter that is allocated by the GetFormulasU method, which passes ownership back to the caller. Der Aufrufer sollte zum Schluss die SafeArrayDestroy-Prozedur für das zurückgegebene Array ausführen.The caller should eventually perform the SafeArrayDestroy procedure on the returned array. Beachten Sie, dass die SafeArrayDestroy -Prozedur den Nebeneffekt hat, bei dem die Varianten gelöscht werden, auf die sich die Einträge des Arrays beziehen, daher werden alle Zeichenfolgen, die die GetFormulasU -Methode zurückgibt, dereserviertNote that the SafeArrayDestroy procedure has the side effect of clearing the variants referenced by the array's entries, hence deallocating any strings the GetFormulasU method returns. (Microsoft Visual Basic und Microsoft Visual Basic für Anwendungen kümmern sich darum.) Die GetFormulasU -Methode schlägt fehl, wenn FormulaArray () gleich nullist.(Microsoft Visual Basic and Microsoft Visual Basic for Applications take care of this for you.) The GetFormulasU method fails if formulaArray() is Null.

Hinweis

Ab Microsoft Visio 2000 können Sie sowohl lokale als auch universelle Namen verwenden, um auf Shapes, Master-Shapes, Dokumente, Zeichenblätter, Zeilen, Add-Ons, Zellen, Hyperlinks, Formatvorlagen, Schriftarten, Master-Shape-Verknüpfungen, Benutzeroberflächenobjekte und Layer von Visio zu verweisen.Beginning with Microsoft Visio 2000, you can use both local and universal names to refer to Visio shapes, masters, documents, pages, rows, add-ons, cells, hyperlinks, styles, fonts, master shortcuts, UI objects, and layers. Wenn ein Benutzer z. B. ein Shape verwendet, gibt er einen lokalen Namen an.When a user names a shape, for example, the user is specifying a local name. Ab Microsoft Office Visio 2003 werden in der ShapeSheet-Kalkulationstabelle nur universelle Namen in Zellformeln und Werten angezeigt.Beginning with Microsoft Office Visio 2003, the ShapeSheet spreadsheet displays only universal names in cell formulas and values. (In früheren Versionen wurden universelle Namen in der Benutzeroberfläche nicht angezeigt.)(In prior versions, universal names were not visible in the user interface.)

Als Entwickler können Sie universelle Namen in einem Programm verwenden, falls Sie einen Namen nicht jedes Mal ändern möchten, wenn eine Lösung lokalisiert wird.As a developer, you can use universal names in a program when you don't want to change a name each time a solution is localized. Verwenden Sie die GetFormulas-Methode, um mehr als eine Formel abzurufen, wenn Sie die lokale Syntax verwenden.Use the GetFormulas method to get more than one formula when you are using local syntax. Verwenden Sie die GetFormulasU-Methode, um mehr als eine Formel abzurufen, wenn Sie die universelle Syntax verwenden.Use the GetFormulasU method to get more than one formula when you are using universal syntax.

BeispielExample

Mit dem folgenden Makro wird gezeigt, wie die GetFormulasU-Methode verwendet wird.The following macro shows how to use the GetFormulasU method. Voraussetzung für das Makro ist ein aktives Visio-Zeichenblatt mit mindestens drei Shapes.It assumes that there is an active Visio page that has at least three shapes on it. GetFormulasU wird dazu verwendet, die Breite von Shape 1, die Höhe von Shape 2 und den Winkel von Shape 3 abzurufen.It uses GetFormulasU to get the width of shape 1, the height of shape 2, and the angle of shape 3.

In diesem Beispiel wird die GetFormulasU -Methode des Page -Objekts verwendet, um drei Zellformeln zu erhalten. das Eingabearray verfügt über vier Slots für jede Zelle, wie dies auch bei Master -Objekten der Fall wäre.This example uses the GetFormulasU method of the Page object to get three cell formulas The input array has four slots for each cell, as it also would for Master objects. Für Shape- oder Style-Objekte wären für jede Zelle nur drei Umsetzungsplätze erforderlich (Abschnitt, Zeile und Zelle).For Shape or Style objects, only three slots would be needed for each cell (section, row, and cell).

 
Public Sub GetFormulasU_Example() 
 
 On Error GoTo HandleError 
 
 Dim aintSheetSectionRowColumn(1 To 3 * 4) As Integer 
 
 aintSheetSectionRowColumn(1) = ActivePage.Shapes(1).ID 
 aintSheetSectionRowColumn(2) = visSectionObject 
 aintSheetSectionRowColumn(3) = visRowXFormOut 
 aintSheetSectionRowColumn(4) = visXFormWidth 
 
 aintSheetSectionRowColumn(5) = ActivePage.Shapes(2).ID 
 aintSheetSectionRowColumn(6) = visSectionObject 
 aintSheetSectionRowColumn(7) = visRowXFormOut 
 aintSheetSectionRowColumn(8) = visXFormHeight 
 
 aintSheetSectionRowColumn(9) = ActivePage.Shapes(3).ID 
 aintSheetSectionRowColumn(10) = visSectionObject 
 aintSheetSectionRowColumn(11) = visRowXFormOut 
 aintSheetSectionRowColumn(12) = visXFormAngle 
 
 'Return the formulas of the cells. 
 Dim avarFormulaArray() As Variant 
 ActivePage.GetFormulasU aintSheetSectionRowColumn, avarFormulaArray 
 
 Debug.Print "Shape 1 width is "; avarFormulaArray(0) 
 Debug.Print "Shape 2 height is "; avarFormulaArray(1) 
 Debug.Print "Shape 3 angle is "; avarFormulaArray(2) 
 
 
Exit Sub 
 
HandleError: 
 MsgBox "Error" 
Exit Sub 
 
End Sub

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.