【Excel×VBA】Googleスプレッドシートのデータやりとり〜前編〜
Автор: Simple 〜プログラミング〜
Загружено: 2023-08-29
Просмотров: 2722
【Excel×VBA】Googleスプレッドシートのデータやりとり後編〜テーブルデータを取得〜
• 【Excel×VBA】Googleスプレッドシートのデータやりとり後編〜テーブルデー...
■ExcelVBA側のサンプルコード
----------------------------------------
Sub Sample()
'httpRequestを使用する為の準備設定
Dim httpRequest As New WinHttp.WinHttpRequest
' HTTPリクエストを作成(設定部分)
httpRequest.Open "GET", "https://script.google.com/macros/s/AK...", False
httpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
'設定した内容でリクエストを送信
httpRequest.Send
' レスポンスを表示
MsgBox httpRequest.ResponseText
End Sub
----------------------------------------
Sub Sample()
'httpRequestを使用する為の準備設定
Dim httpRequest As New WinHttp.WinHttpRequest
' HTTPリクエストを作成(設定部分)
httpRequest.Open "GET", "https://script.google.com/macros/s/AK...", False
httpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
'設定した内容でリクエストを送信
httpRequest.Send
' レスポンスを表示
MsgBox httpRequest.ResponseText
'split関数を使用してカンマで分割して配列にする
Dim myary As Variant
myary = Split(httpRequest.ResponseText, ",")
'1次元から2次元にしてサイズを合わせて値を入れる
Range("A1").Resize(UBound(myary) - LBound(myary) + 1, 1).Value = Application.Transpose(myary)
End Sub
----------------------------------------
Sub Sample()
'httpRequestを使用する為の準備設定
Dim httpRequest As New WinHttp.WinHttpRequest
' HTTPリクエストを作成(設定部分)
httpRequest.Open "POST", "https://script.google.com/macros/s/AK...", False
httpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
'設定した内容でリクエストを送信
httpRequest.Send "こんにちは"
' レスポンスを表示
MsgBox httpRequest.ResponseText
End Sub
----------------------------------------
Sub Sample()
'httpRequestを使用する為の準備設定
Dim httpRequest As New WinHttp.WinHttpRequest
' HTTPリクエストを作成(設定部分)
httpRequest.Open "POST", "https://script.google.com/macros/s/AK...", False
httpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
Dim rng As Range
Dim str As String
str = Range("A1").Value
'A2セルからA3セルの値をカンマ区切りで結合してテキストにする
For Each rng In Range("A2", "A3")
str = str & "," & rng.Value
Next
'設定した内容でリクエストを送信
httpRequest.Send str
' レスポンスを表示
MsgBox httpRequest.ResponseText
End Sub
----------------------------------------
■GoogleAppsScript側のサンプルコード
----------------------------------------
function doGet() {
//Sheetの設定
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1");
//シートのA1セルの値を取得しテキスト文字列として返す
return ContentService.createTextOutput(sheet.getRange("A1").getValue());
}
----------------------------------------
function doGet() {
//Sheetの設定
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1");
//配列としてA1セルからA2セルの値を取得
let values = sheet.getRange("A1:A3").getValues();
//join() メソッドは、配列の要素を引数に指定した区切り文字で結合して1つの文字列にする
let response = values.join(",");
//完成した文字列をテキスト文字列として返す
return ContentService.createTextOutput(response);
}
---------------------------------------
function doPost(e) {
//Sheetの設定
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1");
let postData = e.postData.contents; // POSTデータを取得
// カンマ区切りの文字列を配列に分割
let array = postData.split(",");
//シートの最終行に一次元配列を入れる
sheet.appendRow(array);
}
----------------------------------------
function doPost(e) {
//Sheetの設定
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート1");
let postData = e.postData.contents; // POSTデータを取得
//1行目の受け取ったデータの列のセルの値文字列をテキスト文字列として返す
return ContentService.createTextOutput(sheet.getRange(1,postData).getValue());
}
----------------------------------------
字幕:Vrew
■注意事項
WebアプリURLを知っている人が皆がアクセスできる為、注意
デプロイ時のアクセスユーザーを全員にしないとExcel側からリクエストができません
AppsScriptは大文字・小文字の区別がありますのでJoinとjoinの間違いでも動きません
#excel
#vba
#スプレッドシート
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: