google-spreadsheet einfügen - Wie fügen Sie UI in Zellen in einer Google-Tabelle mithilfe des App-Skripts hinzu?





tabellen datum (4)


Schaltflächen können eingefrorenen Zeilen als Bilder hinzugefügt werden. Das Zuweisen einer Funktion innerhalb des angehängten Skripts zu der Schaltfläche ermöglicht das Ausführen der Funktion. Der Kommentar, der sagt, dass du nicht kannst, ist natürlich ein sehr alter Kommentar, möglicherweise haben sich die Dinge jetzt geändert.

Ich möchte Schaltflächen zu bestimmten Zellen in der Google Docs-Tabelle hinzufügen. In der Dokumentation zum Anwendungsskript-UI wird erläutert, wie ein neues Bedienfeld hinzugefügt wird. Es ist jedoch nicht klar, wie die Benutzeroberfläche in diesem Bedienfeld bestimmten Zeilen oder Zellen zugeordnet werden kann.

Ist es möglich, UI bestimmten Zellen hinzuzufügen, oder können wir nur neue Panels hinzufügen?




Status 2018:

Es scheint keine Möglichkeit zu geben, Schaltflächen (Zeichnungen, Bilder) in Zellen so anzuordnen, dass sie mit Apps Script-Funktionen verknüpft werden können.

Davon abgesehen gibt es einige Dinge, die Sie tatsächlich tun können:

Sie können...

Sie können Bilder mithilfe von IMAGE(URL) in Zellen platzieren, sie können jedoch nicht mit Apps Script-Funktionen verknüpft werden.

Sie können Bilder in Zellen platzieren und mit URLs verknüpfen, indem Sie Folgendes verwenden:
=HYPERLINK("http://example.com"; IMAGE("http://example.com/myimage.png"; 1))

Sie können Zeichnungen wie in der Antwort von @Eduardo beschrieben erstellen und sie können mit Apps Script-Funktionen verknüpft werden. Dabei handelt es sich jedoch um eigenständige Elemente, die frei über der Tabelle schweben und nicht in Zellen positioniert werden können. Sie können nicht von Zelle zu Zelle kopiert werden und sie haben keine Zeilen- oder Spaltenposition, die die Skriptfunktion lesen könnte.




Die Benutzeroberfläche von Apps funktioniert nur für Panels.

Das Beste, was Sie tun können, ist, einen Button selbst zu zeichnen und in Ihre Tabelle zu schreiben. Dann können Sie ein Makro hinzufügen.

Gehen Sie in "Einfügen> Zeichnen ...", zeichnen Sie eine Schaltfläche und fügen Sie sie zur Tabelle hinzu. Klicken Sie darauf und klicken Sie auf "Makro zuweisen ...", und geben Sie den Namen der Funktion ein, die Sie ausführen möchten. Die Funktion muss in einem Skript in der Tabelle definiert werden.

Alternativ können Sie den Button auch anderswo einzeichnen und als Bild einfügen.

Weitere Informationen finden Sie unter https://developers.google.com/apps-script/guides/menus




Claudio Cherubinos Antwort ist richtig - Sie müssen den Parameter manuell hinzufügen. Da Sie jedoch in Python gefragt haben, hier ein konkretes Beispiel:

body = {
    'mimeType':'text/csv',
    'title': 'title'
}

# service: your authenticated service
# media: your apiclient.http.MediaFileUpload object, with 'text/csv' mimeType
req = service.files().insert(media_body=media, body=body)

# patch the uri to ensure conversion, as the documented kwarg seems to be borked.
# you may need to use '?convert=true' depending on the uri, not taking that into
# account here for sake of simplicity.
req.uri = req.uri + '&convert=true'

# now we can execute the response.
resp = req.execute()

# should be OK
assert resp['mimeType'] == u'application/vnd.google-apps.spreadsheet'