2017-04-11 7 views
-1

私はIMPORTXMLでデータのリストをインポートした「自動」というシートを持っています。Google AppScriptを使用してGoogleシートに自動的にデータを保存

今私は毎日データのリストを更新して、異なる株価のデータベースを定期的に構築したいと考えています。

Google AppScriptでこれを行うにはどうすればよいですか?

これは私が必要とする値のホールドを取得するために使用している式である:

=IMPORTXML("https://www.avanza.se/aktier/om-aktien.html/5447/abb-ltd","//dl[@class='border XSText rightAlignText noMarginTop highlightOnHover thickBorderBottom noTopBorder']//dd")

は、すべてのあなたの助けをありがとう、と私はどの部分を残している場合、あなたは知っておく必要があります、ちょうだい!

Picture of my sheet

+0

ようこそ。このサイトでは、ユーザーが自分の問題を解決するために検索/調査した内容を共有することが期待されています。 [ツアー]とチェックアウト[質問]をしてください。 –

答えて

1

あなたがスクリプトエディタにこれを追加することができます。保存して実行します。ポップアップを承認します。次に、スクリプトエディタメニューの[編集]に移動し、[現在のプロジェクトのトリガ]を選択します。毎日この機能を実行するようにトリガを設定します。

function refreshData() { 
    var ss=SpreadsheetApp.getActiveSpreadsheet() 
    var s=ss.getSheetByName("Sheet1") 
    var lr= s.getLastRow() 
    var data= s.getRange(1,3,lr,1).getValues() 
    var s1=ss.getSheetByName("Sheet2") 
    var lr1=s1.getLastRow() 
    var dte=s1.getRange(lr1+1, 3, 1, 1).setValue(new Date()) 
    var lr1=s1.getLastRow() 
    var setdte=s1.getRange(lr1+1, 3, data.length, 1).setValues(data) 
    var clr=s.getRange("C1").clearContent() 
    var cell=s.getRange("C1").setFormula('=IMPORTXML("https://www.avanza.se/aktier/om-aktien.html/5447/abb-ltd\",\"//dl[@class=\'border XSText rightAlignText noMarginTop highlightOnHover thickBorderBottom noTopBorder\']//dd\")') 
} 

私は、日付付きのSheet2にコピーを作成しました。最後のエントリの後にコピーを追加します。

+0

あなたの答えをありがとうございました! スクリプトにコードを追加しましたが、関数が実行されているときに値を格納していないようで、シートの現在の値のみを更新します。 値を定期的に保存し、履歴値をシートに保存する方法を知りましたか? @EdNelson – xNemox

+0

申し訳ありませんが、私はそれを逃した。私は、Sheet2にコピーするスクリプトを改訂しました。 –

関連する問題