Table of contents
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

Shape.GetResults-Methode (Visio)Shape.GetResults Method (Visio)

office 365 dev account|Zuletzt aktualisiert: 06.03.2018
|
2 Mitarbeiter

Ruft die Ergebnisse oder die Formeln vieler Zellen ab.Gets the results or formulas of many cells.

SyntaxSyntax

Ausdruck . GetResults ( SetFilterSRC , Flags , UnitsNamesOrCodes() , resultArray() )expression . GetResults( SRCStream() , Flags , UnitsNamesOrCodes() , resultArray() )

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

ParameterParameters

NameNameErforderlich/OptionalRequired/OptionalDatentypData TypeBeschreibungDescription
SID_SRCStream()SID_SRCStream()ErforderlichRequiredIntegerIntegerEin Array, das die abzufragenden Zellen identifiziert.An array that identifies cells to be queried.
FlagsFlagsErforderlichRequiredIntegerIntegerKennzeichen, die die im Ergebnis zurückgegebenen Eintragstypen beeinflussen.Flags that influence the type of entries returned in results.
UnitsNamesOrCodes()UnitsNamesOrCodes()ErforderlichRequiredVariantVariantEin Array von Maßeinheiten, in denen die Ergebnisse zurückgegeben werden sollen.An array of measurement units that results are to be returned in.
resultArray()resultArray()ErforderlichRequiredVariantVariantAusgabeparameter. Ein Array, das Ergebnisse oder Formeln abgefragter Zellen empfängt.Out parameter. An array that receives results or formulas of queried cells.

RückgabewertReturn Value

NothingNothing

HinweiseRemarks

Die GetResults -Methode ist wie die Result -Eigenschaft für das Cell -Objekt, außer dass sie verwendet werden kann, um die Ergebnisse (Werte) vieler Zellen gleichzeitig, statt für eine Zelle zu einem Zeitpunkt abzurufen.The GetResults method is like the Result property for the Cell object, except that it can be used to get the results (values) of many cells at once, rather than one cell at a time.

Für Shape -Objekte können Sie die GetResults -Methode zum Abrufen von Ergebnissen für Zellengruppen verwenden.For Shape objects, you can use the GetResults method to get results of any set of cells.

SID_SRCStream() ist ein Array von ganzen 2-Byte-Zahlen. Für Shape -Objekte sollte SID_SRCStream() ein eindimensionales Array von 3 n ganzen 2-Byte-Zahlen n > = 1. Die GetResults -Methode interpretiert SID_SRCStream() als:SID_SRCStream() is an array of 2-byte integers. For Shape objects, SID_SRCStream() should be a one-dimensional array of 3 n 2-byte integers for n >= 1. The GetResults method interprets SID_SRCStream() as:

{sectionIdx, rowIdx, cellIdx }n

dabei ist SectionIdx der Abschnittsindex der gewünschten Zelle, ist RowIdx ist deren Zeilenindex, und CellIdx ist deren Zellenindex.where sectionIdx is the section index of the desired cell, rowIdx is its row index and cellIdx is its cell index.

Das Flags -Argument gibt an, welcher Datentyp die zurückgegebenen Ergebnisse ausgedrückt werden sollen. Der Wert sollte eine der folgenden sein.The Flags argument indicates what data type the returned results should be expressed in. Its value should be one of the following.

KonstanteConstantWertValueBeschreibungDescription
visGetFloatsvisGetFloats00Ergebnisse werden als Double-Werte zurückgegeben (VT_R8).Results returned as doubles (VT_R8).
visGetTruncatedIntsvisGetTruncatedInts11Ergebnisse werden als abgeschnittene Long Integer-Werte zurückgegeben (VT_I4).Results returned as truncated long integers (VT_I4).
visGetRoundedIntsvisGetRoundedInts22Ergebnisse werden als gerundete Long Integer-Werte zurückgegeben (VT_I4).Results returned as rounded long integers (VT_I4).
visGetStringsvisGetStrings33Ergebnisse werden als String-Werte zurückgegeben (VT_BSTR).Results returned as strings (VT_BSTR).
visGetFormulasvisGetFormulas44Formeln werden als String-Werte zurückgegeben (VT_BSTR).Formulas returned as strings (VT_BSTR).
visGetFormulasUvisGetFormulasU55Formeln werden in universeller Syntax zurückgegeben (VT_BSTR).Formulas returned in universal syntax (VT_BSTR).

Der Parameter UnitsNamesOrCodes() ist ein Array, das steuert, welchen Maßeinheiten einzelne Ergebnisse zurückgegeben werden. Jeder Eintrag im Array kann eine Zeichenfolge wie "Zoll", "Zoll", "cm," oder "i". Zeichenfolgen können für alle unterstützten Visio-Einheiten wie Zentimeter, Meter, Meilen usw. verwendet werden. Sie können auch die gewünschte Einheiten mit ganzzahligen Konstanten ( VisCentimeters , VisInches usw.) von der Visio-Typbibliothek deklarierten angeben. Beachten Sie, dass die Werte im Array UnitsNamesOrCodes() angegeben keine Auswirkung, wenn FlagsVisGetFormulas ist.The UnitsNamesOrCodes() parameter is an array that controls what measurement units individual results are returned in. Each entry in the array can be a string such as "inches", "inch", "in.", or "i". Strings may be used for all supported Visio units such as centimeters, meters, miles, and so on. You can also indicate desired units with integer constants ( visCentimeters , visInches , etc.) declared by the Visio type library. Note that the values specified in the UnitsNamesOrCodes() array have no effect if Flags is visGetFormulas .

Wenn UnitsNamesOrCodes ungleich null ist, erwartet die Anwendung ein eindimensionales Array von 1 < = uVarianten . Jeder Eintrag kann ein String oder Integer Code oder leer (nothing). Wenn die i ' Eintrag ist leer ist, wird die i ' ten zurückgegebene Ergebnis wird in den von UnitsNamesOrCodes(j), wobei j der Index des letzten nicht leeren Eintrags ist Einheiten zurückgegeben. Daher alle zurückgegebenen Werte in den gleichen Einheiten werden soll, müssen Sie nur ein UnitsNamesOrCodes() -Array mit einem Eintrag übergeben. Wenn kein nicht leeren Eintrag vorhanden ist oder wenn kein Array UnitsNameOrCodes() angegeben ist, wird die VisNumber (0 x 20) verwendet. Dadurch werden interne Einheiten (wie die ResultIU -Eigenschaft eines Cell -Objekts) zurückgegeben werden soll.If UnitsNamesOrCodes is not null, the application expects it to be a one-dimensional array of 1 <= uVariants . Each entry can be a string or integer code, or empty (nothing). If the i 'th entry is empty, the i 'th returned result is returned in the units designated by UnitsNamesOrCodes(j), where j is the index of the most recent prior non-empty entry. Thus if you want all returned values to be in the same units, you need only pass a UnitsNamesOrCodes() array with one entry. If there is no prior non-empty entry, or if no UnitsNameOrCodes() array is supplied, visNumber (0x20) is used. This causes internal units (like the ResultIU property of a Cell object) to be returned.

Ergebnisse zurückgibt, wenn die GetResults -Methode erfolgreich ist wird, ein eindimensionales Array von n Varianten indiziert von null (0) bis n - 1. Der Typ der zurückgegebenen Varianten ist eine Funktion von Flags. Der Parameter resultArray() ist ein Ausgabeparameter, der durch die GetResults -Methode zugeordnet wird, die Besitz wieder an den Aufrufer übergibt. Der Aufrufer sollte zum Schluss SafeArrayDestroy für das zurückgegebene Array ausführen. Beachten Sie, dass SafeArrayDestroy den Nachteil auf die verwiesen wird durch die Arrayeinträge hat, dass alle Zeichenfolgen die GetResults -Methode zurückgegeben. (Microsoft Visual Basic und Microsoft Visual Basic für Applikationen übernehmen dies für Sie.)If the GetResults method succeeds, results returns a one-dimensional array of n variants indexed from zero (0) to n - 1. The type of the returned variants is a function of Flags. The resultArray() parameter is an out parameter that is allocated by the GetResults method, which passes ownership back to the caller. The caller should eventually perform SafeArrayDestroy on the returned array. Note that SafeArrayDestroy has the side effect of clearing the variants referenced by the array's entries, hence deallocating any strings the GetResults method returns. (Microsoft Visual Basic and Microsoft Visual Basic for Applications take care of this for you.)

BeispielExample

Im folgenden Beispiel wird veranschaulicht, wie die GetResults -Methode verwendet. In diesem Beispiel wird davon ausgegangen, dass ein aktives Zeichenblatt, das mindestens 3 Shapes enthält vorhanden ist. Es verwendet die GetResults -Methode, um die Breite der Form 1, die Höhe der Form 2 und den Winkel von Shape 3 abzurufen.The following example shows how to use the GetResults method. This example assumes there is an active page that has at least 3 shapes on it. It uses the GetResults method to get the width of shape 1, the height of shape 2, and the angle of shape 3.

In diesem Beispiel wird die GetResults -Methode des Page -Objekts, um 3 Zellformeln abzurufen. Eingabe-Array weist 4 Steckplätze für jede Zelle wie auch für Master -Objekte. Für Shape- oder Style -Objekten wären nur 3 Steckplätze für jede Zelle (Abschnitts-, Zeilen- und Zelle) erforderlich.This example uses the GetResults method of the Page object to get 3 cell formulas. The input array has 4 slots for each cell, as it also would for Master objects. For Shape or Style objects, only 3 slots would be needed for each cell (section, row, and cell).


Public Sub GetResults_Example() 

 On Error GoTo HandleError 

 Dim intCounter As Integer 
 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 

 'Get first two values in inches. The second element in 
 'the units array is left uninitialized (empty) because we 
 'want the second result in the same units as the first 
 'result. The third result is initialized in degrees. Note that 
 'units can be expressed as a string or an integer constant. 
 Dim avarUnits(1 To 3) As Variant 
 avarUnits(1) = "in." 
 avarUnits(3) = visDegrees 

 'Return results of cells as an array of floating point numbers. 
 Dim avarResults() As Variant 
 ActivePage.GetResults aintSheetSectionRowColumn, visGetFloats, _ 
 avarUnits, avarResults 

 For intCounter = 0 To 3 
 Debug.Print avarResults(intCounter) 
 Next 

 Exit Sub 

HandleError: 
 MsgBox "Error" 
 Exit Sub 

End Sub
© 2018 Microsoft