Diskuze: JavaScript & googlesheets
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Ohledně toho var name, nikde jsem si nevšiml že by jsi ho použil. Takže to bude s největší pravděpodobností zbytečné...
Toto jde taky "sfouknout" do jednoho řádku
var data = ss.getSheetByName('list 3').getRange(1,2).getValue();
Jak nastavit hodnotu (http://stackoverflow.com/…t-cell-value)
ss.getSheetByName('list 3').getRange(1,2).setValue("NĚJAKA HODNOTA");
S googlesheets jsem nikdy moc nedělal, takže nevím jistě jestli to bude fungovat, ale podle Googlu, by asi mělo.
Díky moc, akorát jsem tam stále musel zanechat ten řádek:
var ss =
SpreadsheetApp.openById("1ILLXqFRQIpJy8FPgEB4VBqF7a4ykAjE8KBvPKk_8uws");
jinak to funguje.
Asi časem budu mít několik dalších otázek, každopádně zatím moc
děkuji
Nef
Tak netrvalo to dlouho a mám tady další problém. Chtěl bych, aby mi funkce zvýšila hodnotu o nějakou hodnotu v aktivní buňce (ta která je zrovna nakliknutá), např. "1", ale bohužel tohle mi nefunguje...
function SET_skill_value_up() {
var ss =
SpreadsheetApp.openById("1ILLXqFRQIpJy8FPgEB4VBqF7a4ykAjE8KBvPKk_8uws");
var active_cell =
ss.getSheetByName('Skills_value').getActiveRange().getValue();
active_cell === (active_cell + 1);
ss.getSheetByName('Skills_value').getActiveRange().setValue(active_cell);
}
díkes
Kde jsi přišel na toto?
active_cell === (active_cell + 1);
function SET_skill_value_up() {
var ss = SpreadsheetApp.openById("1ILLXqFRQIpJy8FPgEB4VBqF7a4ykAjE8KBvPKk_8uws");
var range = ss.getSheetByName('Skills_value').getActiveRange();
range.setValue(range.getValue()+1);
}
Zkus toto.
active_cell === (active_cell + 1); nevím, mě to tak napadlo...
function SET_skill_value_up() {
var ss =
SpreadsheetApp.openById("1ILLXqFRQIpJy8FPgEB4VBqF7a4ykAjE8KBvPKk_8uws");
var range = ss.getSheetByName('Skills_value').getActiveRange();
range.setValue(range.getValue()+1);
}
nicméně tenhle skript mi nefachá. Hodnotu buňky nezvýší :/
Zkus se mrknout sem, popř. pogooglit..
http://stackoverflow.com/…le-appscript
Ok, kouknu na to dík. Snad to nějak vykoumu. Mezitím jsem narazil na
další o něco složitější problém. Potřebuju, aby mi sečetl několik
buňek dohromady, přičemž pokud bude číslo větší než 5, tak vynásobil
2x a pokud více jak 10, tak vynásobil 3x. A udělal sumu.
Tady jsem něco začal, ale úplně jsem se do toho zamotal:
function SUM_spent_points()
{
var ss = SpreadsheetApp.openById("1ILLXqFRQIpJy8FPgEB4VBqF7a4ykAjE8KBvPKk_8uws");
var value = 0;
var vznesene_zbrane_value = ss.getSheetByName('Skills_value').getRange(2,2).getValue(value);
value_type(value);
value = vznesene_zbrane_value;
var secne_zbrane_value = ss.getSheetByName('Skills_value').getRange(3,2).getValue();
ss.getSheetByName('Skills_value').getRange(14,2).setValue(vznesene_zbrane_value + secne_zbrane_value);
}
var value = 0;
function value_type(value)
{
if (value > 5)
{
value = 2 * value;
}
if (value > 10)
{
value = 3 * value;
}
else
{
value = value;
}
}
Chtěl jsem to tak, aby načetl jednotlivé buňky do různých proměných a
každou projel tou funkcí value_type a vrátil z5 hodnotu dle toho kritéria,
poté to sečetl do jedné buňky...
Jestli už tě obtěžuju, tak mě klidně pošli někam
díkes
I podle toho cos poslal, by tohle prostě mělo fungovat:
function SET_skill_value_up() {
var ss = SpreadsheetApp.openById("1ILLXqFRQIpJy8FPgEB4VBqF7a4ykAjE8KBvPKk_8uws");
var range = ss.getSheetByName('Skills_value').getActiveRange();
var value = range.getValue();
range.setValue(value + 1);
}
Jedinej rozdíl je v tom, že já pracuju s tou aktivní buňkou, takže chyba musí být někd v tom
Tak už jsem na to přišel, prostě to nefunguje v kombinaci s načtením
var ss = SpreadsheetApp.openById("1ILLXqFRQIpJy8FPgEB4VBqF7a4ykAjE8KBvPKk_8uws");
musí se to jet přez active takhle:
var ss = SpreadsheetApp.getActiveSpreadsheet();
pak až to dělá co má
Zobrazeno 11 zpráv z 11.