Picture クラスの _NewEnum プロパティを取得できません。の原因

VBA 実行時に「実行時エラー '1004' Pictures クラスの _NewEnum プロパティを取得できません」というエラーが発生しました。通常は発生しないのですが特定条件で発生することが分かったので、原因と対策を紹介します。

「リンクされた図」があるとマクロが遅くなる問題の対策

Excel でマクロを実行した際、日によって遅くなる時があるなあとぼんやりと考えていたのですが、いい加減時の流れのせいにするのはやめて本腰を入れて調べたところ、どうやらリンクされた図が貼ってあるブックを開いていると遅くなることが分かりました。

Evaluate を使うと2回実行されてしまう(Excel VBA)

Excel VBA には Evaluate というメソッドが存在しています。ざっくりいうと、セルにいれるような数式の実行結果を返してくれるものです。SUM のような標準で用意されているワークシート関数はもちろんですが、数式には UDF(ユーザー定義関数。マクロの Function とか Sub とか)を入れることも可能です。しかし、なぜか Evaluate に UDF を渡すと2回呼び出されてしまいます。

GitLab のアップデートに失敗する(CentOS)

yum update で gitlab を更新したらエラーが出て更新できませんでした。

gitlab preinstall: Automatically backing up only the GitLab SQL database (excluding everything else!)
Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... pg_dump: [archiver (db)] connection to database "gitlabhq_production" failed: could not connect to server: そのようなファイ ルやディレクトリはありません
 Is the server running locally and accepting
 connections on Unix domain socket "/var/opt/gitlab/postgresql/.s.PGSQL.15432"?
Backup failed
[FAILED]
gitlab preinstall:
gitlab preinstall: Backup failed! If you want to skip this backup, run the following command and
gitlab preinstall: try again:
gitlab preinstall:
gitlab preinstall: sudo touch /etc/gitlab/skip-auto-migrations
gitlab preinstall:
エラー: %pre(gitlab-ce-8.16.3-ce.0.el6.x86_64) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package gitlab-ce-8.16.3-ce.0.el6.x86_64
エラー: install: スクリプト %pre の実行に失敗しました (2)。gitlab-ce-8.16.3-ce.0.el6 をスキップします。
 Verifying : gitlab-ce-8.16.3-ce.0.el6.x86_64 1/2
gitlab-ce-8.14.3-ce.0.el6.x86_64 was supposed to be removed but is not!
 Verifying : gitlab-ce-8.14.3-ce.0.el6.x86_64 2/2

失敗:
 gitlab-ce.x86_64 0:8.14.3-ce.0.el6 gitlab-ce.x86_64 0:8.16.3-ce.0.el6

完了しました!

Skitch のインストーラーを skitch.exe に名前変更するとインストールできない

Skitch のインストーラーをダウンロードすると、skitchsetup_2.3.2.176.exe というような名前になっていると思いますが、これを skitch.exe に変更して実行するとインストールできません。

Redmine で RMagick が機能しなくなっていた

久しぶりに Redmine で遊んでいたら、「RMagickが利用可能 (オプション)」が×になっていることに気が付きました。調べると RMagick が libMagickCore.so を見つけられなくなったようです。yum update したせいでしょうか。

スリープ状態の PC が勝手に起動する

パソコンを買い替え(マザーとCPU、メモリを替え)てから、スリープにしておくと勝手に立ち上がる現象が発生するようになりました。前のパソコンでも同じ現象が起こっていたので、同じように調査することにしました。

環境は以下の通りです。

  • Windows 10
  • ASUS H170M-PLUS(マザーボード)
  • Logicool M325(マウス)
  • Logicool K270(キーボード)

RDBI + SQL Server で NVARCHAR を SELECT するとエラーが発生する

Ruby から SQL Server を操作しようとすると、以下のエラーが出て何もできません。環境は Windows で、rdbi-driver-odbc を使用してデータベースにアクセスしようとしています。

C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/rdbi-driver-odbc-0.1.2/lib/rdbi/driver/odbc.rb:214:in `block in new_execution': undefined method `[]' for nil:NilClass (NoMethodError)
 from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/rdbi-driver-odbc-0.1.2/lib/rdbi/driver/odbc.rb:211:in `collect'
 from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/rdbi-driver-odbc-0.1.2/lib/rdbi/driver/odbc.rb:211:in `new_execution'
 from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/rdbi0.9.1/lib/rdbi/statement.rb:163:in `execute'
 from C:/Ruby21-x64/lib/ruby/gems/2.1.0/gems/rdbi0.9.1/lib/rdbi/database.rb:189:in `execute'
 from C:/dbtest.rb:6:in `<main>' WARNING: #<ODBC::Statement:0x2d69000> was not dropped before garbage collection.

たしかに、Ruby から SQL Server を使うひとなんてまれなんでしょうが、この仕打ちはないんじゃないでしょうか・・・。しかしここで挫けるわけにはいかないので、解決策を調べてみました。