0

毎日新しいスプレッドシートがワークスペースにアップロードされるワークフローの開発。2 番目のトラッキング シートでは、クロス シート参照を使用して複数の列を設定します。アップロード プロセスを自動化しようとしていますが、既存のクロス シート参照を編集できる場合は、セルに新しい参照を再入力するのではなく、新しいシートを指すようにすることができます。アプリの参照エディターが参照するシートと範囲を変更できることを考えると、API がこれを行う方法もあると思います。http://smartsheet-platform.github.io/api-docs/のドキュメントを読みましたが、参照を編集できるものは何も見つかりませんでした。明らかな何かが欠けていることを願っています。

ドキュメントで提供されているコードを使用して、参照のリストを取得し、特定の参照を取得できます。必要に応じて、指定された行のセルを変更することもできますが、これにより、回避したいレベルの複雑さが追加されます。

クロスシート参照を取得して追加するために使用するコードは次のとおりです

Wrksps = get_workspace_list()

for space in Wrksps:
    if space.name == 'QC':
        qc_space = space

QC_sheets = get_sheet_list(qc_space.id,'w')

for sheet in QC_sheets:
    if sheet.name == 'QC Active Issues':
        active_sheet = sheet

active_sheet = get_object(active_sheet.id, 's')

issue_sheet = get_object(Referenced sheet ID, 's')

for col in issue_sheet.columns:
    if col.title == 'Work Order ID':
        WO_col = col
    if col.title == 'Unstartable':
        last_col = col

xref = smartsheet.models.CrossSheetReference({
    'name': 'Sample Time Log Sheet Range 1',
    'source_sheet_id': Referenced sheet ID,
    'start_row_id': ROW ID,
    'end_row_id': ROW ID
    'start_column_id': start_col.id,
    'end_column_id': last_col.id
})

result = smart_sheet_client.Sheets.create_cross_sheet_reference(active_sheet.id, xref)

print(result)

result = smart_sheet_client.Sheets.list_cross_sheet_references(active_sheet.id)
4

1 に答える 1