Office.Binding interface
Stellt eine Bindung an einen Abschnitt des Dokuments dar.
Das Binding-Objekt macht die Funktionalität verfügbar, die von allen Bindungen unabhängig vom Typ besitzt.
Das Binding-Objekt wird nie direkt aufgerufen. Es ist die abstrakte übergeordnete Klasse der Objekte, die jeden Bindungstyp darstellen: Office.MatrixBinding, Office.TableBinding oder Office.TextBinding. Alle drei Objekte erben die Methoden getDataAsync und setDataAsync vom Binding-Objekt, mit denen Sie mit den Daten in der Bindung interagieren können. Sie erben auch die ID- und Typeigenschaften zum Abfragen dieser Eigenschaftswerte. Darüber hinaus machen die MatrixBinding- und TableBinding-Objekte zusätzliche Methoden für matrix- und tabellenspezifische Features verfügbar, z. B. das Zählen der Anzahl von Zeilen und Spalten.
Hinweise
Anwendungen: Word, Excel (veraltet, stattdessen Excel.Binding verwenden)
Anforderungssätze:
Eigenschaften
document | Ruft das document-Objekt ab, das der Bindung zugeordnet ist. |
id | Eine Zeichenfolge, die diese Bindung zwischen den Bindungen im gleichen Office.Document-Objekt eindeutig identifiziert. |
type | Ruft den Typ der Bindung ab. |
Methoden
add |
Fügt dem -Objekt einen Ereignishandler für den angegebenen Office.EventType hinzu. Unterstützte EventTypes sind |
add |
Fügt dem -Objekt einen Ereignishandler für den angegebenen Office.EventType hinzu. Unterstützte EventTypes sind |
get |
Gibt die in der Bindung enthaltenen Daten zurück. |
get |
Gibt die in der Bindung enthaltenen Daten zurück. |
remove |
Entfernt den angegebenen Handler aus der Bindung für den angegebenen Ereignistyp. |
remove |
Entfernt den angegebenen Handler aus der Bindung für den angegebenen Ereignistyp. |
set |
Schreibt Daten in den gebundenen Abschnitt des Dokuments, die vom angegebenen Bindungsobjekt dargestellt werden. |
set |
Schreibt Daten in den gebundenen Abschnitt des Dokuments, die vom angegebenen Bindungsobjekt dargestellt werden. |
Details zur Eigenschaft
document
Ruft das document-Objekt ab, das der Bindung zugeordnet ist.
document: Office.Document;
Eigenschaftswert
Beispiele
Office.context.document.bindings.getByIdAsync("myBinding", function (asyncResult) {
write(asyncResult.value.document.url);
});
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
id
Eine Zeichenfolge, die diese Bindung zwischen den Bindungen im gleichen Office.Document-Objekt eindeutig identifiziert.
id: string;
Eigenschaftswert
string
Beispiele
Office.context.document.bindings.getByIdAsync("myBinding", function (asyncResult) {
write(asyncResult.value.id);
});
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
type
Ruft den Typ der Bindung ab.
type: Office.BindingType;
Eigenschaftswert
Beispiele
Office.context.document.bindings.getByIdAsync("MyBinding", function (asyncResult) {
write(asyncResult.value.type);
})
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
Details zur Methode
addHandlerAsync(eventType, handler, options, callback)
Fügt dem -Objekt einen Ereignishandler für den angegebenen Office.EventType hinzu. Unterstützte EventTypes sind Office.EventType.BindingDataChanged
und Office.EventType.BindingSelectionChanged
.
addHandlerAsync(eventType: Office.EventType, handler: any, options?: Office.AsyncContextOptions, callback?: (result: Office.AsyncResult<void>) => void): void;
Parameter
- eventType
- Office.EventType
Der Ereignistyp. Bei Bindungen kann dies oder Office.EventType.BindingSelectionChanged
seinOffice.EventType.BindingDataChanged
.
- handler
-
any
Die hinzuzufügende Ereignishandlerfunktion, deren einziger Parameter vom Typ Office.BindingDataChangedEventArgs oder Office.BindingSelectionChangedEventArgs ist.
- options
- Office.AsyncContextOptions
Bietet eine Option zum Beibehalten von Kontextdaten eines beliebigen Typs , unverändert, für die Verwendung in einem Rückruf.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist.
Gibt zurück
void
Hinweise
Anforderungssatz: BindingEvents
Sie können mehrere Ereignishandler für den angegebenen eventType hinzufügen, solange der Name jeder Ereignishandlerfunktion eindeutig ist.
addHandlerAsync(eventType, handler, callback)
Fügt dem -Objekt einen Ereignishandler für den angegebenen Office.EventType hinzu. Unterstützte EventTypes sind Office.EventType.BindingDataChanged
und Office.EventType.BindingSelectionChanged
.
addHandlerAsync(eventType: Office.EventType, handler: any, callback?: (result: Office.AsyncResult<void>) => void): void;
Parameter
- eventType
- Office.EventType
Der Ereignistyp. Bei Bindungen kann dies oder Office.EventType.BindingSelectionChanged
seinOffice.EventType.BindingDataChanged
.
- handler
-
any
Die hinzuzufügende Ereignishandlerfunktion, deren einziger Parameter vom Typ Office.BindingDataChangedEventArgs oder Office.BindingSelectionChangedEventArgs ist.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist.
Gibt zurück
void
Hinweise
Anforderungssatz: BindingEvents
Sie können mehrere Ereignishandler für den angegebenen eventType hinzufügen, solange der Name jeder Ereignishandlerfunktion eindeutig ist.
Beispiele
// The following code sample calls the select function of the Office object to access the binding
// with ID "MyBinding", and then calls the addHandlerAsync method to add a handler function
// for the bindingDataChanged event of that binding.
function addEventHandlerToBinding() {
Office.select("bindings#MyBinding").addHandlerAsync(
Office.EventType.BindingDataChanged, onBindingDataChanged);
}
function onBindingDataChanged(eventArgs) {
write("Data has changed in binding: " + eventArgs.binding.id);
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// To add an event handler for the BindingSelectionChanged event of a binding,
// use the addHandlerAsync method of the Binding object.
// The event handler receives an argument of type BindingSelectionChangedEventArgs.
function addEventHandlerToBinding() {
Office.select("bindings#MyBinding").addHandlerAsync(
Office.EventType.BindingSelectionChanged, onBindingSelectionChanged);
}
function onBindingSelectionChanged(eventArgs) {
write(eventArgs.binding.id + " has been selected.");
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
getDataAsync(options, callback)
Gibt die in der Bindung enthaltenen Daten zurück.
getDataAsync<T>(options?: GetBindingDataOptions, callback?: (result: AsyncResult<T>) => void): void;
Parameter
- options
- Office.GetBindingDataOptions
Stellt Optionen zum Abrufen der Daten in einer Bindung bereit.
- callback
-
(result: Office.AsyncResult<T>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist. Die value
-Eigenschaft des Ergebnisses sind die Werte in der angegebenen Bindung. Wenn der coercionType
Parameter angegeben ist (und der Aufruf erfolgreich ist), werden die Daten in dem format zurückgegeben, das im Thema CoercionType-Enumeration beschrieben wird.
Gibt zurück
void
Hinweise
Anforderungssätze:
HtmlCoercion (bei Verwendung von
Office.CoercionType.Html
)MatrixCoercion (bei Verwendung von
Office.CoercionType.Matrix
)OoxmlCoercion (bei Verwendung von
Office.CoercionType.Ooxml
)TableCoercion (bei Verwendung von
Office.CoercionType.Table
)TextCoercion (bei Verwendung von
Office.CoercionType.Text
)
Beim Aufruf aus einer MatrixBinding- oder TableBinding-Methode gibt die getDataAsync-Methode eine Teilmenge der gebundenen Werte zurück, wenn die optionalen Parameter startRow, startColumn, rowCount und columnCount angegeben sind (und einen zusammenhängenden und gültigen Bereich angeben).
getDataAsync(callback)
Gibt die in der Bindung enthaltenen Daten zurück.
getDataAsync<T>(callback?: (result: AsyncResult<T>) => void): void;
Parameter
- callback
-
(result: Office.AsyncResult<T>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist. Die value
-Eigenschaft des Ergebnisses sind die Werte in der angegebenen Bindung. Wenn der coercionType
Parameter angegeben ist (und der Aufruf erfolgreich ist), werden die Daten in dem format zurückgegeben, das im Thema CoercionType-Enumeration beschrieben wird.
Gibt zurück
void
Hinweise
Anforderungssätze:
HtmlCoercion (bei Verwendung von
Office.CoercionType.Html
)MatrixCoercion (bei Verwendung von
Office.CoercionType.Matrix
)OoxmlCoercion (bei Verwendung von
Office.CoercionType.Ooxml
)TableCoercion (bei Verwendung von
Office.CoercionType.Table
)TextCoercion (bei Verwendung von
Office.CoercionType.Text
)
Beim Aufruf aus einer MatrixBinding- oder TableBinding-Methode gibt die getDataAsync-Methode eine Teilmenge der gebundenen Werte zurück, wenn die optionalen Parameter startRow, startColumn, rowCount und columnCount angegeben sind (und einen zusammenhängenden und gültigen Bereich angeben).
Beispiele
function showBindingData() {
Office.select("bindings#MyBinding").getDataAsync(function (asyncResult) {
write(asyncResult.value)
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// There is an important difference in behavior between using the "table" and "matrix" coercionType with the
// Binding.getDataAsync method, with respect to data formatted with header rows, as shown in the following
// two examples. These code examples show event handler functions for the Binding.SelectionChanged event.
// If you specify the "table" coercionType, the TableData.rows property ( result.value.rows in the following
// code example) returns an array that contains only the body rows of the table. So, its 0th row will be the
// first non-header row in the table.
function selectionChanged(evtArgs) {
Office.select("bindings#TableTranslate").getDataAsync(
{ coercionType: 'table',
startRow: evtArgs.startRow,
startCol: 0,
rowCount: 1,
columnCount: 1 },
function (result) {
if (result.status == 'succeeded') {
write("Image to find: " + result.value.rows[0][0]);
}
else
write(result.error.message);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// However, if you specify the "matrix" coercionType, result.value in the following code example returns an array
// that contains the table header in the 0th row. If the table header contains multiple rows, then these are all
// included in the result.value matrix as separate rows before the table body rows are included.
function selectionChanged(evtArgs) {
Office.select("bindings#TableTranslate").getDataAsync(
{ coercionType: 'matrix',
startRow: evtArgs.startRow,
startCol: 0,
rowCount: 1,
columnCount: 1 },
function (result) {
if (result.status == 'succeeded') {
write("Image to find: " + result.value[1][0]);
}
else
write(result.error.message);
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
removeHandlerAsync(eventType, options, callback)
Entfernt den angegebenen Handler aus der Bindung für den angegebenen Ereignistyp.
removeHandlerAsync(eventType: Office.EventType, options?: RemoveHandlerOptions, callback?: (result: AsyncResult<void>) => void): void;
Parameter
- eventType
- Office.EventType
Der Ereignistyp. Bei Bindungen kann dies oder Office.EventType.BindingSelectionChanged
seinOffice.EventType.BindingDataChanged
.
- options
- Office.RemoveHandlerOptions
Stellt Optionen bereit, um zu bestimmen, welche Ereignishandler oder Handler entfernt werden.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist.
Gibt zurück
void
Hinweise
Anforderungssatz: BindingEvents
removeHandlerAsync(eventType, callback)
Entfernt den angegebenen Handler aus der Bindung für den angegebenen Ereignistyp.
removeHandlerAsync(eventType: Office.EventType, callback?: (result: AsyncResult<void>) => void): void;
Parameter
- eventType
- Office.EventType
Der Ereignistyp. Bei Bindungen kann dies oder Office.EventType.BindingSelectionChanged
seinOffice.EventType.BindingDataChanged
.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist.
Gibt zurück
void
Hinweise
Anforderungssatz: BindingEvents
Beispiele
function removeEventHandlerFromBinding() {
Office.select("bindings#MyBinding").removeHandlerAsync(
Office.EventType.BindingDataChanged, {handler:onBindingDataChanged});
}
setDataAsync(data, options, callback)
Schreibt Daten in den gebundenen Abschnitt des Dokuments, die vom angegebenen Bindungsobjekt dargestellt werden.
setDataAsync(data: TableData | any, options?: SetBindingDataOptions, callback?: (result: AsyncResult<void>) => void): void;
Parameter
- data
-
Office.TableData | any
Die in der aktuellen Auswahl festzulegenden Daten. Mögliche Datentypen nach Office-Anwendung:
string: Nur Excel im Web und unter Windows und Word im Web und unter Windows
Array von Arrays: Nur Excel und Word
Office.TableData: Nur Excel und Word
HTML: Word nur im Web und unter Windows
Office Open XML: Nur Word
- options
- Office.SetBindingDataOptions
Stellt Optionen zum Festlegen der Daten in einer Bindung bereit.
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist.
Gibt zurück
void
Hinweise
Anforderungssätze:
HtmlCoercion (bei Verwendung von
Office.CoercionType.Html
)MatrixCoercion (bei Verwendung von
Office.CoercionType.Matrix
)OoxmlCoercion (bei Verwendung von
Office.CoercionType.Ooxml
)TableCoercion (bei Verwendung von
Office.CoercionType.Table
)TextCoercion (bei Verwendung von
Office.CoercionType.Text
)
Der für Daten übergebene Wert enthält die Daten, die in die Bindung geschrieben werden sollen. Der übergebene Wert bestimmt, wie in der folgenden Tabelle dargestellt, was in die Bindung geschrieben werden soll.
data -Wert | Geschriebene Daten |
---|---|
Eine Zeichenfolge | Nur-Text oder alles, was in eine Zeichenfolge umgewandelt werden kann, wird geschrieben. |
Ein Array von Arrays ("Matrix") | Es werden Tabellendaten ohne Kopfzeilen geschrieben. Wenn z. B. Daten in drei Zeilen in zwei Spalten geschrieben werden sollen, können Sie ein Array wie das Folgende übergeben: \[\["R1C1", "R1C2"\], \["R2C1", "R2C2"\], \["R3C1", "R3C2"\]\] . Um eine einzelne Spalte mit drei Zeilen zu schreiben, übergeben Sie ein Array wie das folgende: \[\["R1C1"\], \["R2C1"\], \["R3C1"\]\] . |
Ein TableData -Objekt | Eine Tabelle mit Kopfzeilen wird geschrieben. |
Außerdem werden diese anwendungsspezifischen Aktionen angewendet, wenn Daten in eine Bindung geschrieben werden. Für Word werden die angegebenen Daten wie folgt in die Bindung geschrieben.
data -Wert | Geschriebene Daten |
---|---|
Eine Zeichenfolge | Der angegebene Text wird geschrieben. |
Ein Array von Arrays ("Matrix") oder ein TableData Objekt | Word-Tabelle wird geschrieben. |
HTML | Der angegebene HTML-Code wird geschrieben. Wenn der geschriebene HTML-Code ungültig ist, löst Word keinen Fehler aus. Der HTML-Code wird in Word so weit wie möglich geschrieben, und alle ungültigen Daten werden weggelassen. |
Office Open XML ("Open XML") | Der angegebene XML-Code wird geschrieben. |
Für Excel werden die angegebenen Daten wie folgt in die Bindung geschrieben.
data -Wert | Geschriebene Daten |
---|---|
Eine Zeichenfolge | Der angegebene Text wird als Wert der ersten gebundenen Zelle eingefügt. Sie können auch eine gültige Formel angeben, um diese Formel zu der gebundenen Zelle hinzuzufügen. Indem Sie den Wert data auf "=SUM(A1:A5)" festlegen, wird das Ergebnis der Werte im angegebenen Bereich angezeigt. Wenn Sie jedoch eine Formel für die gebundene Zelle festlegen, können Sie die hinzugefügte Formel (oder eine bereits vorhandene Formel) anschließend nicht mehr aus der gebundenen Zelle lesen. Wenn Sie die Binding.getDataAsync -Methode für die gebundene Zelle aufrufen, um ihre Daten zu lesen, kann die Methode nur die in der Zelle angezeigten Daten (das Ergebnis der Formel) zurückgeben. |
Ein Array von Arrays ("Matrix"), die Form entspricht genau der Form der angegebenen Bindung entspricht | Die Zeilen und Spalten werden geschrieben. Sie können auch ein Array von Arrays angeben, die gültige Formeln enthalten, um sie den gebundenen Zellen hinzuzufügen. Wenn Sie beispielsweise Daten auf \[\["=SUM(A1:A5)","=AVERAGE(A1:A5)"\]\] festlegen, werden diese beiden Formeln einer Bindung hinzugefügt, die zwei Zellen enthält. Genau wie beim Festlegen einer Formel für eine einzelne gebundene Zelle können Sie die hinzugefügten Formeln (oder bereits vorhandene Formeln) nicht aus der Bindung mit der Binding.getDataAsync -Methode lesen– sie gibt nur die Daten zurück, die in den gebundenen Zellen angezeigt werden. |
Ein TableData -Objekt, und die Form der Tabelle entspricht der gebundenen Tabelle. | Der angegebene Satz von Zeilen und/oder Kopfzeilen wird geschrieben, falls keine anderen Daten in angrenzenden Zellen überschrieben werden. **Hinweis**: Wenn Sie Formeln in dem Objekt angeben, das TableData Sie für den *data*-Parameter übergeben, erhalten Sie aufgrund der Funktion "berechnete Spalten" von Excel, die Formeln innerhalb einer Spalte automatisch dupliziert, möglicherweise nicht die erwarteten Ergebnisse. Um dies zu umgehen, wenn Sie *data* mit Formeln in eine gebundene Tabelle schreiben möchten, versuchen Sie, die Daten als Array von Arrays (anstelle eines TableData Objekts) anzugeben, und geben Sie *coercionType* als Microsoft.Office.Matrix oder "matrix" an. |
Für Excel im Web:
Die Gesamtanzahl der Zellen im Wert, der an den data-Parameter übergeben wird, darf in einem einzelnen Aufruf dieser Methode 20.000 nicht überschreiten.
Die Anzahl der Formatierungsgruppen, die an den cellFormat-Parameter übergeben werden, darf 100 nicht überschreiten. Eine einzelne Formatierungsgruppe besteht aus einem Formatierungssatz, der auf einen bestimmten Zellenbereich angewendet wird.
In allen anderen Fällen wird ein Fehler zurückgegeben.
Die setDataAsync-Methode schreibt Daten in einer Teilmenge einer Tabellen- oder Matrixbindung, wenn die optionalen startRow- und startColumn-Parameter angegeben sind, und sie geben einen gültigen Bereich an.
In der callback-Funktion, die an die setDataAsync-Methode weitergegeben wird, können Sie die Eigenschaften des AsyncResult-Objekts verwenden, um die folgenden Informationen zurückzugeben.
Eigenschaft | Verwendung |
---|---|
AsyncResult.value | Gibt immer zurück undefined , da kein Objekt oder keine Daten abgerufen werden können. |
AsyncResult.status | Bestimmen Sie, ob der Vorgang erfolgreich war oder ein Fehler aufgetreten ist. |
AsyncResult.error | Greifen Sie auf ein Error-Objekt zu, das nach einem fehlgeschlagenen Vorgang Fehlerinformationen bereitstellt. |
AsyncResult.asyncContext | Definieren Sie ein Element eines beliebigen Typs, der im AsyncResult-Objekt zurückgegeben wird, ohne geändert zu werden. |
setDataAsync(data, callback)
Schreibt Daten in den gebundenen Abschnitt des Dokuments, die vom angegebenen Bindungsobjekt dargestellt werden.
setDataAsync(data: TableData | any, callback?: (result: AsyncResult<void>) => void): void;
Parameter
- data
-
Office.TableData | any
Die in der aktuellen Auswahl festzulegenden Daten. Mögliche Datentypen nach Office-Anwendung:
string: Nur Excel im Web und unter Windows und Word im Web und unter Windows
Array von Arrays: Nur Excel und Word
TableData
: Nur Excel und Word
HTML: Word nur im Web und unter Windows
Office Open XML: Nur Word
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Eine Funktion, die aufgerufen wird, wenn der Rückruf zurückgibt, deren einziger Parameter vom Typ Office.AsyncResult ist.
Gibt zurück
void
Hinweise
Anforderungssätze:
HtmlCoercion (bei Verwendung von
Office.CoercionType.Html
)MatrixCoercion (bei Verwendung von
Office.CoercionType.Matrix
)OoxmlCoercion (bei Verwendung von
Office.CoercionType.Ooxml
)TableCoercion (bei Verwendung von
Office.CoercionType.Table
)TextCoercion (bei Verwendung von
Office.CoercionType.Text
)
Der für Daten übergebene Wert enthält die Daten, die in die Bindung geschrieben werden sollen. Der übergebene Wert bestimmt, wie in der folgenden Tabelle dargestellt, was in die Bindung geschrieben werden soll.
data -Wert | Geschriebene Daten |
---|---|
Eine Zeichenfolge | Nur-Text oder alles, was in eine Zeichenfolge umgewandelt werden kann, wird geschrieben. |
Ein Array von Arrays ("Matrix") | Es werden Tabellendaten ohne Kopfzeilen geschrieben. Wenn z. B. Daten in drei Zeilen in zwei Spalten geschrieben werden sollen, können Sie ein Array wie das Folgende übergeben: \[\["R1C1", "R1C2"\], \["R2C1", "R2C2"\], \["R3C1", "R3C2"\]\] . Um eine einzelne Spalte mit drei Zeilen zu schreiben, übergeben Sie ein Array wie das folgende: \[\["R1C1"\], \["R2C1"\], \["R3C1"\]\] . |
Ein TableData -Objekt | Eine Tabelle mit Kopfzeilen wird geschrieben. |
Außerdem werden diese anwendungsspezifischen Aktionen angewendet, wenn Daten in eine Bindung geschrieben werden. Für Word werden die angegebenen Daten wie folgt in die Bindung geschrieben.
data -Wert | Geschriebene Daten |
---|---|
Eine Zeichenfolge | Der angegebene Text wird geschrieben. |
Ein Array von Arrays ("Matrix") oder ein TableData Objekt | Word-Tabelle wird geschrieben. |
HTML | Der angegebene HTML-Code wird geschrieben. Wenn der geschriebene HTML-Code ungültig ist, löst Word keinen Fehler aus. Der HTML-Code wird in Word so weit wie möglich geschrieben, und alle ungültigen Daten werden weggelassen. |
Office Open XML ("Open XML") | Der angegebene XML-Code wird geschrieben. |
Für Excel werden die angegebenen Daten wie folgt in die Bindung geschrieben.
data -Wert | Geschriebene Daten |
---|---|
Eine Zeichenfolge | Der angegebene Text wird als Wert der ersten gebundenen Zelle eingefügt. Sie können auch eine gültige Formel angeben, um diese Formel zu der gebundenen Zelle hinzuzufügen. Indem Sie den Wert data auf "=SUM(A1:A5)" festlegen, wird das Ergebnis der Werte im angegebenen Bereich angezeigt. Wenn Sie jedoch eine Formel für die gebundene Zelle festlegen, können Sie die hinzugefügte Formel (oder eine bereits vorhandene Formel) anschließend nicht mehr aus der gebundenen Zelle lesen. Wenn Sie die Binding.getDataAsync -Methode für die gebundene Zelle aufrufen, um ihre Daten zu lesen, kann die Methode nur die in der Zelle angezeigten Daten (das Ergebnis der Formel) zurückgeben. |
Ein Array von Arrays ("Matrix"), die Form entspricht genau der Form der angegebenen Bindung entspricht | Die Zeilen und Spalten werden geschrieben. Sie können auch ein Array von Arrays angeben, die gültige Formeln enthalten, um sie den gebundenen Zellen hinzuzufügen. Wenn Sie beispielsweise Daten auf \[\["=SUM(A1:A5)","=AVERAGE(A1:A5)"\]\] festlegen, werden diese beiden Formeln einer Bindung hinzugefügt, die zwei Zellen enthält. Genau wie beim Festlegen einer Formel für eine einzelne gebundene Zelle können Sie die hinzugefügten Formeln (oder bereits vorhandene Formeln) nicht aus der Bindung mit der Binding.getDataAsync -Methode lesen– sie gibt nur die Daten zurück, die in den gebundenen Zellen angezeigt werden. |
Ein TableData -Objekt, und die Form der Tabelle entspricht der gebundenen Tabelle. | Der angegebene Satz von Zeilen und/oder Kopfzeilen wird geschrieben, falls keine anderen Daten in angrenzenden Zellen überschrieben werden. **Hinweis**: Wenn Sie Formeln in dem Objekt angeben, das TableData Sie für den *data*-Parameter übergeben, erhalten Sie aufgrund der Funktion "berechnete Spalten" von Excel, die Formeln innerhalb einer Spalte automatisch dupliziert, möglicherweise nicht die erwarteten Ergebnisse. Um dies zu umgehen, wenn Sie *data* mit Formeln in eine gebundene Tabelle schreiben möchten, versuchen Sie, die Daten als Array von Arrays (anstelle eines TableData Objekts) anzugeben, und geben Sie *coercionType* als Microsoft.Office.Matrix oder "matrix" an. |
Für Excel im Web:
Die Gesamtanzahl der Zellen im Wert, der an den data-Parameter übergeben wird, darf in einem einzelnen Aufruf dieser Methode 20.000 nicht überschreiten.
Die Anzahl der Formatierungsgruppen, die an den cellFormat-Parameter übergeben werden, darf 100 nicht überschreiten. Eine einzelne Formatierungsgruppe besteht aus einem Formatierungssatz, der auf einen bestimmten Zellenbereich angewendet wird.
In allen anderen Fällen wird ein Fehler zurückgegeben.
Die setDataAsync-Methode schreibt Daten in einer Teilmenge einer Tabellen- oder Matrixbindung, wenn die optionalen startRow- und startColumn-Parameter angegeben sind, und sie geben einen gültigen Bereich an.
In der callback-Funktion, die an die setDataAsync-Methode weitergegeben wird, können Sie die Eigenschaften des AsyncResult-Objekts verwenden, um die folgenden Informationen zurückzugeben.
Eigenschaft | Verwendung |
---|---|
AsyncResult.value | Gibt immer zurück undefined , da kein Objekt oder keine Daten abgerufen werden können. |
AsyncResult.status | Bestimmen Sie, ob der Vorgang erfolgreich war oder ein Fehler aufgetreten ist. |
AsyncResult.error | Greifen Sie auf ein Error-Objekt zu, das nach einem fehlgeschlagenen Vorgang Fehlerinformationen bereitstellt. |
AsyncResult.asyncContext | Definieren Sie ein Element eines beliebigen Typs, der im AsyncResult-Objekt zurückgegeben wird, ohne geändert zu werden. |
Beispiele
function setBindingData() {
Office.select("bindings#MyBinding").setDataAsync('Hello World!', function (asyncResult) { });
}
// Specifying the optional coercionType parameter lets you specify the kind of data you want to write to a binding.
// For example, in Word if you want to write HTML to a text binding, you can specify the coercionType parameter
// as "html" as shown in the following example, which uses HTML <b> tags to make "Hello" bold.
function writeHtmlData() {
Office.select("bindings#myBinding").setDataAsync(
"<b>Hello</b> World!", {coercionType: "html"}, function (asyncResult) {
if (asyncResult.status == "failed") {
write('Error: ' + asyncResult.error.message);
}
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// In this example, the call to setDataAsync passes the data parameter as an array of arrays
// (to create a single column of three rows), and specifies the data structure with the
// coercionType parameter as a "matrix".
function writeBoundDataMatrix() {
Office.select("bindings#myBinding").setDataAsync(
[['Berlin'],['Munich'],['Duisburg']],{ coercionType: "matrix" }, function (asyncResult) {
if (asyncResult.status == "failed") {
write('Error: ' + asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message;
}
// In the writeBoundDataTable function in this example, the call to setDataAsync passes the data parameter
// as a TableData object (to write three columns and three rows), and specifies the data structure
// with the coercionType parameter as a "table".
// In the updateTableData function, the call to setDataAsync again passes the data parameter as a TableData object,
// but as a single column with a new header and three rows, to update the values in the last column
// of the table created with the writeBoundDataTable function. The optional zero-based startColumn parameter
// is specified as 2 to replace the values in the third column of the table.
function writeBoundDataTable() {
// Create a TableData object.
const myTable = new Office.TableData();
myTable.headers = ['First Name', 'Last Name', 'Grade'];
myTable.rows = [['Kim', 'Abercrombie', 'A'], ['Junmin','Hao', 'C'],['Toni','Poe','B']];
// Set myTable in the binding.
Office.select("bindings#myBinding").setDataAsync(myTable, { coercionType: "table" },
function (asyncResult) {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
write('Error: '+ asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// Replace last column with different data.
function updateTableData() {
const newTable = new Office.TableData();
newTable.headers = ["Gender"];
newTable.rows = [["M"],["M"],["F"]];
Office.select("bindings#myBinding").setDataAsync(newTable, { coercionType: "table", startColumn:2 },
function (asyncResult) {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
write('Error: '+ asyncResult.error.message);
} else {
write('Bound data: ' + asyncResult.value);
}
});
}
// In this example, the following call passes two formatting groups to cellFormat.
Office.select("bindings#myBinding").setDataAsync([['Berlin'],['Munich'],['Duisburg']],
{cellFormat:[{cells: {row: 1}, format: {fontColor: "yellow"}},
{cells: {row: 3, column: 4}, format: {borderColor: "white", fontStyle: "bold"}}]},
function (asyncResult){});
Office Add-ins