GAS: 別シートの特定範囲をコピーして貼り付ける

とある作業で毎週1,2回はコピペしてるから、ショートカットしようと思ってGASを書いた

サンプル:シート1 のA2:E2に、シート「あいうえお」の値を貼り付けたい
シート「あいうえお」にはこういうRangeでデータがある

GASを書く

function PasteTheCopiedValue() {

  //アクティブシートを取得する
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sht = ss.getActiveSheet();
  
  //特定シートの特定範囲を取得
  var copyRange = ss.getSheetByName("あいうえお").getRange("A:E");
  
  //アクティブなセルを取得する
  var currentCell = sht.getActiveCell();
 
  //アクティブなセルに貼付け
  copyRange.copyTo(currentCell, {contentsOnly:true});
 
}
マクロからスクリプトを実行すると
コピペ完了

ゲーミングノートPC、左手用デバイス、アンプ、ヘッドホンを買った

PS4でApexlegendsをたまにやってたのだけど、急にマウスでエイムするというのを体験してみたくなり、ゲーミングPCのことを調べ始め検討の結果以下を購入した。

GALLERIA GCR2070RGF-QC

  • CPU : Core i7-9750H
  • グラフィックス : GeForce RTX2070 MAX-Q
  • メモリ : 16GB DDR4 SO-DIMM
  • ストレージ : 1TB NVMe SSD

天板にロゴはいらないのになあ… という点はあったがスペックと価格のバランスもよかったし、液晶のリフレッシュレートが144Hzだったのもありこちらにした。

届いてみての感想としては、

  • リフレッシュレート144Hz って初めて体験したのだけど、画面の動きがなめらか。
  • スペックが足りなくて遊べない、というゲームは今の所なかったのでよかった。
  • ゲームやってるとファンの音がすごい(ヘッドホンやカナル型のイヤホンなら気にならない)
  • 日本語配列のキーボード慣れない(英語配列も選べるようにしてほしかった)
  • ACアダプタがめちゃでかい(持ち歩く予定はないのでとくに気にしないが、モバイル用途で買う人はびっくりしそう)

そしてキーボードが七色に光る。

ついでに買ったあれこれ

Razer Tartarus V2

キーボードでのキャラ移動にどうにも慣れずのっけから躓いていたら、十字キーがついた入力デバイスがあるということを知り、藁にもすがる思いで購入。これのおかげでキャラ移動が大変直感的になり、ゲームが楽しめるようになった。

もちろん七色に光る。

Logicool PRO HERO

まさか2020年に有線のマウスを買うとは思わなかったけど、評判が良さそうだったのでこちらを購入。

もちろんお好みの色で光らせることができる。

ASTRO MixAmp Pro TR

FPSは足音を聞き分けられるようになるのが重要!と各所で力説されていたので、よくわからないまま購入。サラウンド?とイコライザー?を?いじれるようになるらしく、おすすめのイコライザーのセッティングをネットで調べて登録するなどした。

ちなみにこれは白く光るだけで七色には光らない。

Logicool G PRO X

無線のように見えるが有線である。USBのサウンドカードってのが付属しているPRO Xにしたけど、上に書いたMixAmpがあるから使わないのだった。メガネをかけていても、つけ心地は大変よい。音楽聞くときにも使ってみようかな。

なんと、このヘッドホンは光らない!
ゲーミングデバイスらしからぬ感じが良い。

ところでゲーミングデバイスって七色に光るんだろう?
キーボードはキー毎に特定の色を設定しておくと、押し間違えが減らせるだろうから意味はありそうだけど、ヘッドホンとか光っても自分は見えないよね?

ちなみに色々デバイスを投入してみたものの、腕前が劇的に変わることはないというのが一番の収穫だった…。

デスク下に置くパネルヒーターを買った

在宅勤務へ移行して一ヶ月以上経過した。
モニタ、机、椅子などはもともと整備してたので特に困ることはなくやれているが、オフィスと違うのは「足元が寒い」こと!とにかく寒い。

机を窓際においているからというのもあるが、とにかく寒い。

足元におく小さなヒーターや、小さなホットカーペットや、足を突っ込むあったかクッションなど色々ためしたが、これは全部「あつすぎる!」となって継続利用を断念。

かといって家で靴下は履きたくないんだよなあ。
って悩んでいたら、Amazonでパネルヒーターなるものを見つけたので、すがる思いで買ってみた。

足元に設置してみると、ほんのりあったかい。
この「ほんのり」というのが今までの「あつすぎる!」商品達と決定的に違う。
ちょうどいい。付属してたブランケットで覆えばもう「こたつ」だった。

パーソナルこたつの完成である。

三面で囲うので窓から伝わる冷気も感じず、大変快適になった。
これは本当に買ってよかった。

足元の冷えに悩んでいる皆様におかれましてはぜひご検討ください。

JACK PURCELL GORE-TEX HI 買った

ジャックパーセル買うのは随分と久しぶり。

ゴアテックス仕様の靴も3足目にもなると、雨が降ってようが降ってまいが履くようになってきた。

外部モニタとモニターアームを変更

自宅の作業環境は

  • MacBookPro
  • 外部モニタ1 (4K)
  • 外部モニタ2 (Full HD)

という構成だったので、外部モニタ2(Full HD)をやめて4K*2枚にすることにした。
視野角が広いIPSパネルにしようと思い、LGのものにした。

モニターアームも一本ずつ設置していたけど、ついでにまとめることにした。

もともと使っていたAcerの4Kモニタが28インチで新しいモニタは27インチ。
微妙にサイズが合わないのが気になるけど、机の上がすっきりしたので満足。

横に2枚まっすぐならべると視野に収まらなくなってしまうので、若干角度をつけて使っている。

RMagickで画像の色情報をテキストデータに変換する

「手元に数千枚の画像ファイル(10×10ピクセル)があり、この画像のカラーコードをピクセル単位でテキスト化したい」
というググってもなかなか出てこなそうなことをやったので、メモしておこう。

こういうグレースケール化された画像から #CCCCCC みたいなカラーコードを取得したい

ImageMagickをインストールして、

~/rgb via 💎 v2.5.1 took 17m31s 
❯ convert A1516.jpg txt:
# ImageMagick pixel enumeration: 10,10,65535,gray
0,0: (257,257,257)  #010101  gray(1)
1,0: (514,514,514)  #020202  gray(2)
2,0: (771,771,771)  #030303  gray(3)
3,0: (771,771,771)  #030303  gray(3)
4,0: (771,771,771)  #030303  gray(3)
・
・
(略)
・
・
9,9: (257,257,257)  #010101  gray(1)

使い方あってるか知らないけど convert ファイル名 txt というのをやると、↑のようにピクセルごとの色情報が1行ごとに出力された。

とりあえず1ファイルを対象にして欲しい情報が取れることは分かったが、手元には数千ファイルあるので繰り返し処理したい。

しかしシェルスクリプトはよくわからない

Rubyで書けないかなー?

お、RMagickというのがある。ということで以下のスクリプトを書いて実行してみた。

require 'RMagick'

files = Dir.glob('*.jpg')
for file in files do
  file_name = file
  image = Magick::Image.read(file_name)
  image[0].write(file_name + ".txt")
end
実行すると画像ごとにtxtファイルが作成される
テキストの中身には欲しい情報がある

大量のテキストファイルができたので、今度はテキストファイルから欲しい部分を取得し、一つのテキストファイルに保存するスクリプトを書く。

files = Dir.glob('*.txt')
logfile = File.open('logfile.csv','a')
for file in files do
  File.open(file){|f|
    aaa = []
    aaa.push(f)
    f.each_line{|line|
      #カラーコード部分だけ抜き出す
      aaa.push(line.slice(/\#.*/).slice(1..2))
    }
    logfile.puts "#{aaa} \n"
  }
end

カラーコードのRGBのRだけ取得できればよかったので line.slice(/#.*/).slice(1..2) と書いた。

テキストファイルに

ファイル名 1ピクセル目のR値、2ピクセル目のR値、・・・100ピクセル目のR値

というフォーマットで記録していった。ここまでくればお得意のスプレッドシートの出番である。

これで必要なデータが並んだ表ができた。

ひとまずやりたいことは実現できたので良かったが、他に色々やり方ありそうなので今度同僚に聞いてみよう。

  • GASでできるかな?
  • javascriptのcanvasはどうだろう?
  • シェルスクリプトでやるには?

2019年最後のエントリがこれになるとは。

「難しい」で終わらせないって話と、今年買ってよかったもの10選

このエントリは GMO Pepabo Managers Advent Calendar 2019 の 12/9 のエントリです。昨日はTamonさんによる「Concorde effect」でした。

割とすぐ書き終えてしまったので、後半に「今年買ってよかったもの10選」を続けて書いたら、好きが溢れてしまいました。それではご覧ください。

“「難しい」で終わらせないって話と、今年買ってよかったもの10選” の続きを読む

IIJ mioからdocomoにMNPした

10月の料金プラン改定を見てたら、格安SIMとそんな金額変わらない感じになってきたし、5Gのことを考えると古巣のドコモに戻っておくのもありだなーと思っていたのでMNPした。

店頭でないとMNPできないということだったので、週末にドコモショップへ行ってきて手続き。SIM差し替えた後に、IIJ時代のプロファイルを消さないと通信できなくてちょっとハマった。

あとは駅等で利用できるWi-Fi自動接続が思いの外快適だった。
(IIJを2年使って手に入れたエコネクトの無料特典はなかなか厳しいものがあったので…)

Amazonプライム1年無料のキャンペーンも始まったし、忘れずエントリーしないと。