テンプレートKMLを使用して同様のタスクを実行します。私はKMLファイルを文字列にロードしてからスプレッドシートを繰り返し、アクセントのあるカラー値トークンをモメントで必要な色に置き換えます。私は必要なものを見つけるために文字列検索を使用しますが、置き換えられるテンプレートに独自の定義されたトークンを使用できます。
add reference to Microsoft Scripting Runtime
Dim fso As New FileSystemObject
Set AQI_Numbers = Sheets("AQI_Data").Range("AQI_Numbers")
' add color to region placemarks in KML model
For col = 1 To AQI_Numbers.Columns.Count
Date_String = Format(AQI_Numbers.Item(-1, col), "YYYY_mm_dd")
Set ts = fso.OpenTextFile(fso.GetParentFolderName(ModelPath3) & "\AQI_Regions_Model3.kml.txt", ForReading)
msKML = ts.ReadAll
ts.Close
For row = 1 To AQI_Numbers.Rows.Count ' range on sheet
s = AQI_Numbers.Item(row, 0) ' region name
t = InStr(msKML, "<name>" & s & "</name>")
' replace next <color> value
t = InStr(t, msKML, "<PolyStyle>")
t = InStr(t, msKML, "<color>") + 7
t2 = InStr(t, msKML, "</color>")
Mid(msKML, t, t2 - t) = GetKMLColor(AQI_Numbers.Item(row, col))
Next
' save this day's KML
Set ts = fso.OpenTextFile(fso.GetParentFolderName(ModelPath3) & "\AQI_II_Maps\AQI_" & Date_String & ".kml", ForWriting, True)
ts.Write msKML
ts.Close
Next