役に立ちそうもないTips移転版

俺得なTipsを書き連ねるだけのブログ。

2013-01-01から1年間の記事一覧

果てしなく今更なJavaScriptの話

「3個以上(ただし個数可変)の数の最大値とか最小値取りたいときどーすればええのん?」→ Math.max.apply(null, num_list)でおk。(最小値なら無論min)

Excel: (複数)選択されたシートを取得

シートの複数選択自体は手動ならCtrl+クリックとかShift+クリックで一発なのだが、この選択状況をVBAから参照するにはどーするか。 →Window#SelectedSheetsプロパティから取ればよろしい。(Windowオブジェクトがこのプロパティ持ってるってのはUI寄りの話っ…

VS2013でユーザーマクロを定義する

どっかのライブラリを使いたいってときにINCLUDEとLIBPATHそれぞれ指定する必要があるわけだが、(ライブラリのディレクトリ)\includeと(ライブラリのディレクトリ)\libだったりすることはよくあるわけで。 その「(ライブラリのディレクトリ)」をそれぞれにベ…

VS(とりあえず2013)のデバッグ実行時の「カレントディレクトリ」

これ、ビルドしたバイナリのディレクトリかと思いきやさにあらず。 どうも$(ProjectDir)になるっぽい。(標準のディレクトリツリー構成だと、exeのあるディレクトリのいっこ上になる) カレントからコンフィグ読んで、なんてコード書いてDebug/Releaseにコンフ…

WideCharToMultiByte/MultiByteToWideCharの引数

で、その「UTF-8→UTF-16LE→CP932」をやるときにWindows環境だと多分一番無難なのが上記のAPIなのだが。 (iconvとか規格的には正しいんだろうが、CP932周りは変換表がパラノイアですからorz) で、第2引数に変換処理の制御フラグを指定できますよ、とあるが、…

IrrlichtのIO周りとUnicode

Irrlichtはファイルシステム(というか具体的にはファイルパス)のエンコーディングがcharでもwchar_tでも対応できるように作られてる ……はずだと思ったが、落とし穴。 アプリケーション側でirr::fschar_tを決めれば同一のDLL(lib)でANSI/UNICODE対応できるか…

HTML5 canvasの幅・高さ

なんでそんな仕様(らしい)になってるのかしらんが、canvas要素の幅と高さはタグの属性(widthとheight)で指定しないといけないらしい。 要素のサイズなんてCSSだろJK……なんて言ってると描かれた図形が妙なことになって頭を抱えることに。 (指定がない場合デフ…

IEの英数字フォントが変な場合

IE10にしてから気がついたんだがWebを漁るとIE8や9でも似たような症状を訴える人がいてよくわからん。 ともあれ、症状と対処。 ・症状: IEで英数字のフォントが突然ところどころおかしくなった (スタイル等でフォントを指定してない場合っぽい。デフォルト設…

控えめなNTPクライアント

とあるサーバがちゃんと応答返してるのかどうか、を確認したくて 「端末の日時同期までせずサーバと対話するだけのNTPクライアント」 というのを探したのだが、どうも見つからないorz (少なくともWindows用では。) で、結局Apache Commons Netでなんとかなっ…

複数セルのRange#Valueに設定するデータの形

取って来る時は1起点の添え字の二次元配列なので、設定するときもその体裁にならわないとだめかと思ってたが、別に0起点の一次元配列でも受け付けるっぽい。 (もちろん、1行複数列の範囲に対して突っ込む場合だが。) つまりコードで表ラベルを設定するときに…

Excel「プライバシーに関する注意」の謎

もはやTipsですらなく単なる愚痴に近いが。Excel2007以降らしいが、ファイル保存時にやたら長いダイアログが出てきて プライバシーに関する注意:このドキュメントには、マクロ、ActiveXコントロール、XML拡張パックの情報、またはWebコンポーネントが含まれ…

VBA: Enumメンバ名の衝突時の挙動

VBAのEnumはEnum自体の名前を略して、メンバ名だけで書けたりする。 Enum HogeにメンバPiyo = 2、とか指定してある時、Hoge.Piyoと書いてもいいがPiyoだけでもOK。 では複数のEnum定義で同じメンバ名があったら? 答えは単純で「Enum名を略した場合あいまい…

Access2013: DBファイルをADOで開きたいときの対処

とりあえず2007ではADODB.Connectionで"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hogehoge"とやっとけば、普通に.accdb(と多分.mdb)を読み書きできた。 DMLどころかDDLも平気で突っ込める。しかもインプロセス(試せば分かるが、MSAccess.exeは起動し…

Excel2013を多重起動しようとするとなんか変

2013/05/30追記: どうもExcelの問題というより、とある常駐プログラムが問題(ないし、Excel2013と相性が悪い?)らしいことが判明したので、記事をobsoleteに。まず前段として今更知って浦島な話。 とりあえずWindows7だと、タスクバーに「同じプログラム」(…

ExcelのCellsプロパティの列指定

普段A1形式で使っててそれに慣れてるとVBAのコードで.Cells(5, 32)とか出てきたときにどの列かぱっと分からなくて困るorz で、実は列の方は番号じゃなく文字で指定してもOKだったりする。 上の例だと.Cells(5, "AF")でも通ったりする。 あまりないかもしれな…

Excelで複数シートを両面印刷する割と簡単な方法

Excelは印刷の設定をシート毎に持つ。まあシート毎に中身はさまざまであろうから理には叶ってるんだが、おかげで表題のようなことをやろうとすると非常にめどい。 (ほか、複数シートを2in1で印刷したいとか) 地道にやるならシート毎にページ設定でぐりぐり設…

VirtualBoxのホストオンリーアダプタの設定

(2014/09/24: 今見るとなんか全然違うので書き直しました)具体的になんでそーすりゃいいのかいまいちよく分かっとらんがorzホストがWindowsの場合、ネットワークアダプタとして「VirtualBox Host-Only Network」がインストールされる。 で、アドレスを振った…

Excel: Offsetプロパティの罠

いわゆるExcel方眼紙で結合セル多用というのは残念ながらよくあるパターンで。 さて、各行A〜D、E〜F、G〜Jと結合されて見た目3つの横長セルが並んでいるように見えるシートがあったとする。 ここで Range("A1").Offset(0, 1) → Range("E1") Range("A1").Off…

Access: 集計クエリの結果を使って更新したい、けど

たとえばテーブルAに「ID」と「回数」フィールドがあって、テーブルBにはテーブルAの「ID」相当の列(F_IDとでも)がある。 このときA.回数をSELECT COUNT(主キー) AS 回数 FROM B GROUP BY F_ID な集計値で更新したい。で、これを素直に?サブクエリとしてJOI…

Excel: 幽霊ブレークポイント

Excel2007でVBAをキックすると、突然「コードの実行が中断されました」とダイアログが出て実際実行中断状況になる。 状態としては、コードにブレークポイントを設定してあって引っかかったか、Esc/Ctrl+Breakで実行を止めたときと同様。 しかし問題の個所に…

VBAにとって時刻は日付ではない(わけでもない)

Excelでセルに時刻を入力して、VBAでIsDate(thatCell.Value)ってするとFalseが返る。 うん、まあTypeName(thatCell.Value)はDoubleだし、と言われればそうだがなんだかなあorz ちなみにIsDate(thatCell.Text)なら(書式がちゃんと日付・時刻の体裁になってれ…

slf4jのメッセージパラメータの扱い

てけとーにSLF4J+Logback使ってコード書いてて、後になって{}でパラメータ入りメッセージが書けることを知ったorz ……が、しかし。「パラメータマーカは{}だよ」というのは書いてあるが、「そのパラメータをどうやって文字列にするのか」さっぱりわからん。 …

Enumと無名クラス

Javaの話。 classファイルを見てるとたまに身に覚えのない無名クラス(〜$1.classとか)が混じってることがある。 はて、なんじゃこいつは、とjavap掛けてみると、中身は 「static final int[] $SwitchMap$〜」 とかいうフィールドとstaticコンストラクタだけ…