基本毎日同じような情報を必ず見るのだから一括で、自動で開いてくれるとありがたい。
30タブ位あらかじめ開いてくれれば一々読み込む時間も短縮されるはず。多分。
よってGASで作ってローカルに自動同期、タスクスケジューラーも使って自動化します。
2022-09-05(MO)どうもスマートじゃ無すぎるので作り直します。
リンクを一括で並べた仕様に変更、パラメーターはGlobalで持つことにします。
とりあえずSheet上からリンクを一括で開く。参考
この動作はポップアップブロッカーを回避すれば可能でした。
後はソート処理、1枚のシートにまとめたので、URLの範囲を判定しないといけない。
2022-09-02(FRI)普段使っているBraveでリンクを開くことにしました。
brave://settings/manageProfile
で見ると、デスクトップにショートカットを作るようになっていました。
ショートカットのリンクは
C:\Users\user\AppData\Local\BraveSoftware\Brave-Browser\Application\brave.exe –profile-directory=”Default”
のようになっているので、これを起動リンクにします。
2022-09-01(TH)とりあえずのコード
相当やっつけなのでとりあえず動いて情報がとれればいいやと言う状態です。
function onOpen() {
var ui = SpreadsheetApp.getUi(); // Uiクラスを取得する
var menu = ui.createMenu('追加したメニュー'); // Uiクラスからメニューを作成する
menu.addItem('ソート、書き出し', 'sortSpreadsheet'); // メニューにアイテムを追加する
menu.addToUi(); // メニューをUiクラスに追加する
}
const folderId= 'ssss保存するフォルダ、IDで指定sssssssssssssssssssssssssssssssss';
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
FILE_ID = '';
from_tab_file_name = '';
function getFiles(){
const folder = DriveApp.getFolderById(folderId);
const files = folder.getFiles();
return files;
}
function find_file_if(files,from_tab_file_name){
while(files.hasNext()){
let file = files.next();
let fileName = file.getName(); // ファイル名
let fileId = file.getId(); // ファイルID
if(fileName == from_tab_file_name){
return fileId;
}
}
}
function get_target_file_id_from_sheet(){
var sheet_name = sheet.getSheetName();
from_tab_file_name = "gather_open_"+sheet_name+".bat";
var files = getFiles();
FILE_ID = find_file_if(files,from_tab_file_name);
}
function sortSpreadsheet(){
let range = sheet.getRange("B1");
let value = range.getValue();
console.log(value);
if(value == "no"){
return;
}
let data = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn());
//とりあえず直指定
data.sort({column: 8, descending: false});
output_bat_format_File();
}
function output_bat_format_File() {
let values = sheet.getRange(1,10, sheet.getLastRow()).getValues();
let contents = values.join('\r\n');
createTextFile_(contents);
}
function createTextFile_(contents) {
get_target_file_id_from_sheet();
// console.log(FILE_ID);
if(FILE_ID != null){
var file = DriveApp.getFileById(FILE_ID);
file.setContent(contents);
}
else if(from_tab_file_name != ''){
console.log(folderId);
let folder = DriveApp.getFolderById(folderId);
var file = folder.createFile(from_tab_file_name, contents);
}
}
2022-09-01(TH)Tab名からbatファイルを作るのにFiLE_IDを取得
多分こちらを参考
あと、シート名でフォルダを分けて自動作成するようにもしました。
2022-09-01(TH)意図せぬ復元機能を無効化
こちらを参考にFirefoxのタブの復元を無効化しました。
2022-09-01(TH)タスクスケジューラー設定
gather_open_main.bat
2022-09-01(TH)その後の改造
10秒ごとのTimeoutを入れました。
REM Bloomberg_概要
timeout 10 /nobreak >nul && start firefox.exe "https://www.bloomberg.co.jp/markets/stocks "
REM US HeatMap
timeout 10 /nobreak >nul && start firefox.exe "https://finviz.com/map.ashx "
で、スクリプトでbatファイルを作ってGoogleDrivieデスクトップの同期機能でローカルに自動保存としました。
それを自動で毎朝起動すれば面倒ないかと。
2022年8月25日
batファイルで一括で開けばタブの切り替えだけでOKになるはず。
作ってみてわかったけどめちゃくちゃ重い。メインで使っているブラウザが落ちたりする。
ーーーーーー埋め込みーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーー