- 「リンクされた図」があるとマクロが遅くなる問題の対策
Excel でマクロを実行した際、日によって遅くなる時があるなあとぼんやりと考えていたのですが、いい加減時の流れのせいにするのはやめて本腰を入れて調べたところ、どうやらリンクされた図が貼ってあるブックを開いていると遅くなることが分かりました。
- Evaluate を使うと2回実行されてしまう(Excel VBA)
Excel VBA には Evaluate というメソッドが存在しています。ざっくりいうと、セルにいれるような数式の実行結果を返してくれるものです。SUM のような標準で用意されているワークシート関数はもちろんですが、数式には UDF(ユーザー定義関数。マクロの Function とか Sub とか)を入れることも可能です。しかし、なぜか Evaluate に UDF を渡すと2回呼び出されてしまいます。
- Excel 方眼紙に背景色を付けるとファイルサイズが思いのほか増える
Excel 方眼紙は時と場合によっては便利ですが、デメリットをしっかりと理解しておくことが重要です。たまたま気が付いた、というか理解はしていたけど考えないようにしていたのですが、方眼紙の場合はそうでないシートに比べて面積あたりのセル数が増えるので、ファイルサイズが大きくなります。その差がそこそこあったので記事にしようと思います。
- Node.js で中間証明書が設定されていない Web サイトにアクセスする
node.js でWebスクレイピングするツールを作ったのですが、アクセス先のサイトの証明書が切れたらしく最近更新されたようです。それは問題ないのですが、なぜか中間CA証明書が返ってこず(たぶんWebサーバーの設定漏れ)、証明書の検証ができない旨のエラーが。wget してみても同様の状態。証明書チェーンの検証を無効にすればつながりますが、セキュリティ的によろしくないです。まあ、管理者に連絡して設定してもらえばいいんですが、それまで待っていられない場合の応急処置を書いておきます。
- Excel 全シートのカーソルを左上のセルに移動するマクロ
Excel は保存時にカーソルの位置も記録されるため、開き直した時に変なところにカーソルがあると気になってしまいます。提出する書類とかだと毎回カーソルを左上に持っていくようにしている方も多いのではないでしょうか。 私はそれ用のマクロを作って使っているのですが、環境が変わるたびに(特にデータ持ち込みしにくい場合)導入するのが面倒なのでここで公開します。※インターネット繋がらない環境だと詰みですが。
- 再帰的に ko.track する
複雑な構造の ViewModel を knockout.es5 で扱う際、再帰的によろしくやってくれるものがないため作成してみました。
- 結局、ko.track はどこまで効くのか
knockout.js のプラグインである knockout-es5 を使用すると、双方向バインディングが利用できるようになります。入力欄の内容が ViewModel に入るだけでなく、ViewModel に代入した値が画面に反映されます。 ただ、単純に ko.track(obj) するだけだと、ViewModel の深い階層のオブジェクトに値を代入しても画面に反映されなかったり、今まで動いていたのに配列を書き換えた途端に動かなくなったりと、いまいち挙動がつかめません。一通り以下で試してみようと思います。
- TypeScript でタグ付けされたTemplate literalを使う
前回の記事:JavaScript で String.format したい で、テンプレートリテラルの使い方は何となくわかりましたが、いざ TypeScript で使うぞってなったときにタグ関数の引数の型がよく分からなかったのでメモ。
- JavaScript で String.format したい
他の言語とかで、軽くエラーメッセージ出したい時によく string.format を使うのですが、JavaScript には存在しません。なにかしら似たようなものはないかと Stack Overflow を覗いてみると template literal 使えばっていう回答がありました。テンプレートリテラルとは初耳なので、勉強がてらそれを使ってみることにします。
- iOS で Basic 認証パスワードを保存・自動入力する
更新:iOS 12 の内容に差し替えました iPhone で、Basic 認証用の ID・パスワードをブックマークの URL に仕込む方法が上手くいかなくなったので(たぶん iOS 11 に上げた時くらいから)、ほかの方法を考えてみました。