自動化厨のプログラミングメモブログ │ CODE:LIFE

Python/ExcelVBA/JavaScript/Raspberry Piなどで色んなことを自動化

自宅で開発・導入しているIoT機器や機能を晒してみる

多分生まれつきとにかく楽をしたい気持ちが強いが、GoogleアシスタントとAlexaなどの音声アシスタント、超小型の低消費電力コンピュータのRaspberry Pi、便利なIoTデバイスの登場がそれに拍車をかけた。 もしかしたら誰かの参考になるかもしれないので晒して…

New-DistributionGroup のMembers引数に配列を渡したいときはハッシュテーブルスプラッティング

`Invoke-Command` や `Invoke-Expression` なども考えられるが、今回の例に最も適しているであろう「スプラッティング」という方法を用いる。

Slackのログ(JSONファイル)をExcel PowerQuery だけでなるべく楽に解析

CSVならあまり頭を使わなくてもそのまま開いたり、日付ごとのファイルでもbatで統合するなりすればいいがJSONファイルをExcelで扱うにはPowerQueryが最適。VBA-JSONを使う手もあるが、初心者向けではない。

Google Home と IFTTT を使って忘れ物チェック機能を作る

Google Home 便利ですが、その機能をフル活用出来ず眠ったままになっている人も多いハズ。 「色々できるようにするにはIoT対応の家電を買ったり、プログラムを書いたり、サーバを作ったりが必要なんでしょ?」と思うかもしれませんが、単体でも出来ることの…

Chatworkの投稿内容をGoogleスプレッドシートに自動で反映させる

GAS

qiita.com 思いの外簡単そうだったのでこれをやってみる。 用意するもの Googleスプレッドシート Chatwork ざっくり手順 スプレッドシート作成 スクリプトエディタでdoPostとJSONパーサを記述 スクリプトAPI公開 ChatworkでWebhookを作成してスクリプトのURL…

CSVファイルの数字と日付データからのみダブルクォートを削除するsedコマンド

sedコマンドええやん! メモっとかないと絶対忘れるので記録。 # 整数と浮動小数点数のダブルクォーテーションだけを削除するsedコマンド echo -e "\"id\",\"item\",\"price\",\"taxrate\",\"total\"\n"\ "\"0001\",\"apple\",\"1000\",\"1.08\",\"1080\"\n"…

【VBA/VBScript】HTML特殊文字コードから16進数を抽出→10進数に変換してデコードする

CSV形式でダウンロードしたデータの一部が文字化けしていて困ってるという相談を受けて、「読み込み時のエンコード指定の問題でしょw」と見てみると部分的にHTMLエンコードされている謎のCSV・・・。 これに対応すべく部分的なHTMLエンコード文字をデコード…

【ExcelVBAでスクレイピング入門】Googleで検索順位を自動取得してみる④ ~2ページ目以降も取得する~

第三回では複数キーワードを順番に検索してExcelシートにキーワード、検索順位、ページタイトルを入力するところまでできました。 code-life.hatenablog.com 今回は検索結果一番下にある「次へ」を押していく機能です。 これが実装できれば1キーワード100位…

【ExcelVBAでスクレイピング入門】Googleで検索順位を自動取得してみる③ ~複数キーワードの検索とデータ取得~

第二回では1キーワードを検索してExcelシートにキーワード、検索順位、ページタイトルを入力するところまでできました。 code-life.hatenablog.com code-life.hatenablog.com 今回やっていくのは以下の内容。ここまでできれば検索結果のスクレイピングとして…

【VBA】querySelectorAllで取得した要素に対してForEachを使うと謎のエラーが発生する

この記事でできるようになること querySelectorAllで取得したコレクションに対してループ処理 ExcelVBAでWebページから情報を自動収集(スクレイピング)する時に超便利なメソッド querySelectorとquerySelectorAll 。 CSSセレクタがそのまま使えて超便利だ…

【ExcelVBAでスクレイピング入門】Googleで検索順位を自動取得してみる② ~キーワードを検索して結果をシートに書き込む~

第一回ではGoogleを表示するところまででしたが、今回はスクレイピングの肝となるデータを抜き出す部分です。 もうちょっと間空けて投稿しようかと思ったけど勢いで公開。ここらへんまでやらないと面白くないもんね。 code-life.hatenablog.com 前回までのお…

【ExcelVBAでスクレイピング入門】Googleで検索順位を自動取得してみる① ~IEを開く、待つ、閉じるまで~

スクレイピングとは? ウェブスクレイピング。ウェブサイトのHTMLから欲しい情報を指定して取得すること。 簡単に言うと手作業でウェブサイトからExcelにデータをコピペコピペコピペ・・・という地獄の作業を自動化してしまおうというものです。最近流行りの…

ExcelVBAからパスワード付き圧縮コマンド(7-zip/Lhaplus)を実行する

ExcelVBAからパスワード付き圧縮コマンド(7-zip/Lhaplus)を実行する この記事でできるようになること コマンドでファイルをパスワード付きZIP圧縮 ExcelVBAからcmd.exeにコマンドを渡す 毎日の作業を楽にするべくExcelVBAで作ったメール一括送信ツール。しか…

【落書き】勢いでExcelVBA使って神龍Webテストを再現してみた

qiita.com 神龍何回名乗るんだよww と思いながらも面白そうだったのでチャレンジ。 VBAのClassモジュールは初めて使ったけど作り込んだら便利そう。 mainモジュール Sub callDragon() Dim 我が名は神龍 As New ieDoragon 我が名は神龍.URLにアクセスしてや…

1秒で捨てアド作成「TempMail」で使い捨てアカウントも作り放題

temp-mail.org 「捨てアド」とは「使い捨てのメールアドレス」のこと。ここにアクセスするだけでメールアドレスが自動生成され、受信可能な状態になる。 しかもこのTempMailはヤフーやGoogleなどのフリーメールアドレスでの登録を弾いているサービスでも利用…

BUFFALOの静音マウスBSMBU505MBKのホイールが「きゅるきゅる」音を立てて全く静音じゃないので分解清掃したら改善

こいつのホイールの軸部分のホコリなどが原因 今回分解してみたのはこちら BUFFALO 有線 BlueLED プレミアムフィットマウス 静音 5ボタン Mサイズ ブラック BSMBU505MBK出版社/メーカー: バッファロー発売日: 2016/09/22メディア: Personal Computersこの商…

どうしてもはてなブログの新着記事を一覧で見たいのでGoogle先生にお願いして見せてもらう

昨年2017年9月。以下のスタッフブログ記事とともにはてなブログの新着エントリーページは姿を消しました。 staff.hatenablog.com 「はてなブログ 新着記事」「はてなブログ 新着エントリー」で検索すると「新着エントリーページは必要なのに・・・」という声…

ブラウザで動作するリアルタイムプレビュー付きの最強Markdownエディタ「StackEdit」

今までMarkdownを書くのにCodePenやBracketsやVS Codeなど色々使ってきましたが、ようやく「これは!」というMarkdownエディタにたどり着きました。超おすすめです。 StackEditが便利すぎて最近は会社で使う会議資料や文書も簡単なものはMarkdownで書くよう…

空想爆発「お金2.0 新しい経済のルールと生き方」をから人類3.0と人類4.0を想像してみた

お金2.0 新しい経済のルールと生き方 (NewsPicks Book)作者: 佐藤航陽出版社/メーカー: 幻冬舎発売日: 2017/11/29メディア: Kindle版この商品を含むブログ (3件) を見る 楽天スーパーSALEで楽天ブックス利用特典を得るためになんとなく買ってみたこの本。201…

pyenvでPython3.7.0をインストールしようとしたらWARNING発生

pyenvでPython 3.7.0をインストールしようとしたらエラー発生。 WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib? WARNING: The Python readline extension was not compiled. Missing the GNU readline lib? WARNING: The Pyth…

マナーモードのまま寝るとGalaxy Note8のアラームが鳴らない問題

有給消化期間かつ岡山→東京の引っ越しもようやく落ち着いてきて朝もゆっくり二度寝している最近ですが、今日はきちんと7時に起きようとスマートフォンのアラームをセットしていました。 が、鳴らない! マナーモードでもアラームだけはなる設定のはずなのに…

GASとSlackとGoogleHomeで毎朝なにを着れば良いか教えてもらう

最近は季節の変わり目で朝起きて寒いなーと思って上着を着ていくと、意外と昼間は暑くて上着が邪魔になったり。逆に意外と寒かったり。 朝どんな服装にするべきか悩ましいのですが、tenki.jpではどれくらいの服装なら体感温度が適温になるのか「服装指数」と…

Docomoのsimロック解除済みGalaxy Note8 SC-01Kをソフトバンク回線で使ってみた。方法と注意点

www.nttdocomo.co.jp まず結論から言うと問題なく使えた。 前提条件 simロック解除済みのGalaxy Note8 SC-01Kをヤフオクで購入 ソフトバンクsimカードはAndroid端末用のためIMEI制限がかかっている 使用状況 通話利用可能 SMS利用可能 通信品質問題なし S!メ…

Raspberry PiのセットアップからPython実行環境構築とイメージファイルバックアップまで

Raspberry Piを購入してから10ヶ月ほど経ちましたが、分からないなりに色々いじくり回していると余計に訳がわからない事態に陥ることもしばしば。 仕方ないクリーンインストールするか・・・ということが何度もありました。 その手間をなるべく省くために大…

Google HomeをPythonで自在に喋らせてみた(VoiceTextを使ってるので声も選べます)

昨年末から愛用してきたGoogle Home Mini。 手に入れて最初にやったのがNode.jsの「google-home-notifier」で色んな通知を喋らせるというもの。 しかし、自分のjavascriptの知識なんてjQueryでウェブサイトに動きをつけて遊んだりする程度。よくわからないま…

Pythonのスコープ(変数の参照・代入可能範囲?)でつまづいた。グローバル変数を関数内で変更するには

今日Flask-ngrokというライブラリを使っていてつまづいたので戒めメモ。 Pythonのグローバル変数は関数内で代入できない num = 0 def num_func (): num = 1 print("num " + x) このように実行したときにてっきりnum 1と表示されると思っていましたが、表示さ…

Raspberry PiからPythonでWEB経由でWoLしてみる

前回はAndroidアプリの「Wol Wake on Lan Wan」からグローバルIPを指定してポートフォワーディングでマジックパケットを転送していました。 しかし、これではルーターに穴を開けることになるのでセキュアじゃない。 ような気がするので自宅で常時起動してい…

TeamViewerが突然商用利用として5分で切断されてしまったが5日ほどで解除された

以前までChromeリモートデスクトップを利用していたが、ふとTeamViewerのことを思い出して利用を再開してみたところこれが超便利だった。 ことの発端はスマートフォンにBluetoothキーボードを接続した状態でChromeリモートデスクトップを使ってみたときのこ…

Chrome拡張機能「stylish」が使えなくなった代わりに「Stylus」を使ってみた

以下の記事にもあるようにChrome拡張機能の中でも定番といっても過言ではない「Stylish」が利用不可能に。 代替品として完璧な「Stylus」を使ってみました。 forest.watch.impress.co.jp Stylishとは カスタマイズCSSを任意のページに反映させる拡張機能。 …

スマホアプリで外出先から自宅のPCを遠隔起動してみる「Wol Wake on Lan Wan」

最近はありえないくらい暑い日が続きますね。 そんな中我が家のメインPCは誰も使ってないのに常時稼働しています。何故かと言うと「出先からリモートデスクトップで遠隔操作したいから」。 以前はマイニングPCとしても稼働させていたのでまだ良かったですが…