Skip to content

Instantly share code, notes, and snippets.

@furyutei
furyutei / 0.README.md
Last active Nov 30, 2021
[Excel][VBA] QueryTableの更新を待つ
View 0.README.md

かおてっく@Kao_Techさんのツイートで、ThisWorkbook.RefleshAllをすると(「バックグラウンドで更新」状態のクエリがある場合には)リフレッシュが完了する前にコードが先に進んでしまうという話題が出ていて、W.D.@WD4096さんが対策するコード例を出してくださったので、実際に試してみました。

ソースコード

テストコード中の

TargetTable.DataBodyRange.Rows.Delete

のような処理は、テーブルデータの変化がわかりやすいように検証用に入れてあるだけで、実際には不要です(ついでにいうとデータ行が存在しないとエラーが発生するので注意)

@furyutei
furyutei / 0.README.md
Last active Nov 25, 2021
[PowerShell] フォルダ容量の表示
View 0.README.md

[PowerShell] フォルダ容量の表示

Windowsで指定したフォルダの正味の容量(フォルダ下のファイルサイズの合計・ただしシンボリックリンクやジャンクションはたどらない)を調べたくなったので、PowerShellでのやり方を調べてみました。

Windows 10標準で入っているPowerShell 5.xだと冗長になってしまうため、サンプルはPowerShell 7.x用です。
→ いちおう、PowerShell 5.xでも動くようにしてみました。

使い方

DiskUsage.ps1を実行することで使えるようになるFunctionの使い方です(手抜き)。

@furyutei
furyutei / 0.README.md
Last active Nov 22, 2021
[Excel][VBA] CSVを一定レコード毎に分割
View 0.README.md

[Excel][VBA] CSVファイルを一定レコード毎に分割

ゆーしゃん@Mr_mura_ura さんのツイート絡みでタイムラインでCSVファイルを一定レコード毎に分割するという話題が上がっていたので変換用のプロシージャをざっくりと作ってみたのですが、課題(TODO:ソースコード中に記述)が多すぎて……😑

今のところ、正規表現使用版の方が安定して動作する………ような気がします(なぜか、Excel2010でAdodb.Connection使用版を使うと、静かにエクセルが落ちてしまいました💦

使い方

正規表現使用版

@furyutei
furyutei / 0.README.md
Last active Nov 17, 2021
Excel用代替IEアドイン(AltIE)
View 0.README.md

Excel用代替IEアドイン(AltIE)

2022年6月にInternet Explorer 11デスクトップアプリケーションのサポートが終了する(予定な)のに伴い、InternetExplorer.Application(Microsoft Internet ControlsのInternetExplorer)の代替用として試作してみました。

アドイン自体はとりあえずGoogle Drive上で公開しております
「すべてダウンロード」でZIPダウンロードされますので、解凍してからインストールしてお試しください。

■インストール

  1. 「インストール」フォルダにある「Install.vbs」を実行して指示に従う
@furyutei
furyutei / 0.README.md
Last active Nov 6, 2021
[Excel][VBA] 処理を一時停止してModelessなユーザーフォームを呼び出し、閉じた後で続きから再開する試み
View 0.README.md

[Excel][VBA] 処理を一時停止してModelessなユーザーフォームを呼び出し、閉じた後で続きから再開する試み

吉田 拳@sugoi_kaizenさんがツイート

マクロの実行中にある条件でユーザーフォームをmodelessで出してなんかやった後にそのフォームにつけたボタンクリックしてunloadでフォーム閉じてマクロの続きに戻る…ということはできないんですかね

とおっしゃっていたので、試しにやってみました。

Modeless.UserForm.mp4
@furyutei
furyutei / 0.README.md
Last active Nov 7, 2021
[JavaScript] Twitter Pro(Twitter for Professionals)で設定可能なカテゴリー一覧をダウンロードする
View 0.README.md

[JavaScript] Twitter Pro(Twitter for Professionals)で設定可能なカテゴリー一覧をダウンロードする

概要

Twitterで「Twitter Pro」というものが導入され、プロフィールに表示するアカウントのカテゴリーがたくさんある(なのに欲しい物がない)と話題になっていたので、とりあえず現状設定できるカテゴリーをCSV(BOM付UTF-8)でダウンロードできるようにしてみました。

使い方

  1. TwitterをPCブラウザ(Google Chrome, Firefox, Microsoft Edge)で開き、ログイン状態にする
@furyutei
furyutei / 0.README.md
Last active Oct 28, 2021
[Excel][VBA] テーブルと名前定義を利用して変更に強いマクロを作ってみる
View 0.README.md
@furyutei
furyutei / 0.README.md
Last active Oct 24, 2021
[Excel][VBA][PowerPoint] PowerPointにエクセルで管理しているデータ(セルのテキスト)を埋め込む処理の例
View 0.README.md
@furyutei
furyutei / 0.README.md
Last active Oct 5, 2021
[Excel][VBA] ドキュメント座標を画面座標に変換
View 0.README.md

[Excel][VBA] ドキュメント座標を画面座標に変換

ドキュメント座標[^1]を画面座標[^2]に変換するのにWindow.PointsToScreenPixelsX()Window.PointsToScreenPixelsY()を使おうとしたところはまってしまいました

  • (0, 0) 以外のドキュメント座標がうまく変換できない
  • ウィンドウ枠の固定をしていたり、マルチディスプレイ環境の場合もうまく変換できない

踊るエクセル@ExcelVBAer さんのご教示により、ドキュメント座標がActiveWindowの.Panes(i).VisibleRange(i=1~.Panes.Count)のどこに属するか調べた上で、当該PaneのPane.PointsToScreenPixelsX()Pane.PointsToScreenPixelsY()を使用すればよいことがわかったので、これを元に[汎用プロシージャ:ConvertToScreenCoordinates()](#file-mod_convertt