Skip to content

Instantly share code, notes, and snippets.

@furyutei
furyutei / 0.README.md
Last active May 4, 2024 05:14
[VBA] 文字列の正規化

[VBA] 文字列の正規化

文字列中の、2文字にわかれている濁音/半濁音(例「た゛か゛は゜」)を、1文字(例「だがぱ」)に変換するような処理の例。
※元ネタ:橋ビロ子@hassy_birowさんのツイート
自分の📝メモ用ツリー

処理の例

  • か/カ行・さ/サ行・た/タ行・は/ハ行およびウの濁音変換、は/ハ行の半濁音変換のみ可
    ※か・さ・た・は行については、Unicode上濁音が清音のとなり(+1)に、は行については同じく半濁音が清音の2つ隣(+2)に存在することを利用
@furyutei
furyutei / 0.README.md
Last active April 30, 2024 05:34
[VBA][PowerShell] FileSystemWatcherを利用して、OneDriveフォルダのURLからローカルのPathを取得する試み

[VBA][PowerShell] FileSystemWatcherを利用して、OneDriveフォルダのURLからローカルのPathを取得する試み

こちらではEverything/PSEverythingを利用したが、ファイルが作成されたことを検知するならFileSystemWatcherで行けるかな?と試してみたもの。

大まかには

  1. ユニークな一時ファイル名とWorkbook(xlsxファイル)ファイル名を作成し、一時ファイルには最初は適当な文字列("?NOT FOUND YET?")を書き込み
  2. WScript.Shell経由でPowerShellを非同期で起動、FileSystemWatcherにてOneDrive配下のxlsxファイルの"Created"イベント監視設定&準備ができたら一時ファイルのサイズを0に
  3. VBA側で、一時ファイルのサイズが0になったら、指定されたOneDriveのフォルダURLの場所にユニークなWorkbook(xlsxファイル)を作成
  4. PowerShell側で、FileSystemWatcherの"Created"イベントが発生するので、一時ファイルにFullPathを記録し、PowerShell終了
@furyutei
furyutei / 0.README.md
Last active April 26, 2024 17:06
[Excel][VBA][PowerShell] Everythingを利用して、OneDriveのURLからローカルのPathを取得する試み

[VBA][PowerShell] Everythingを利用して、OneDriveのURLからローカルのPathを取得する試み

※考え方は同じだけれど、Everything不要のやり方はこちら→[VBA][PowerShell] FileSystemWatcherを利用して、OneDriveフォルダのURLからローカルのPathを取得する試み


OneDriveに割り当てられたフォルダ下では、ExcelのVBAでWorkbook.Path等を参照すると、通常のフォルダのPathではなく、URLになってしまう。 これをローカルフォルダのPathに変換する手段として、知る限りでは[VBA Function to get the local path of a OneDrive/SharePoint synchronized Microsoft Office file](https://gist.github.com/guwidoe/038398b6be1b16c458365716a921814d)が最も確度が高いが、それでも[変換に失敗するケースがある模様](https://twitter.com/KotorinChunChun/status/1781695979101819031)。

SharePointで「OneDriveへのショートカットの追加」したときのトップレベルフォルダーが取得できなくなっている気配

@furyutei
furyutei / 0.README.md
Last active April 21, 2024 04:43
[VBE] VBEThemeColorEditor/VBEThemeColorTool用テーマ集(仮)
@furyutei
furyutei / 0.README.md
Last active April 20, 2024 07:19
[Excel][Outlook] VBAでメールに画像を貼り付ける例

[Excel][Outlook] VBAでメールに画像を貼り付ける例

Excel VBAにて、本文中に画像を埋め込んだOutlook用メールを作成する例。
元ネタはこちら

予め、ActiveSheet上に
image
のようなデータを作ってあることを想定。
※"<画像挿入位置>"という文字列を、画像に置換

@furyutei
furyutei / 0.README.md
Last active April 10, 2024 02:10
[Python][Windows] Outlookのフォルダの更新を行なう実装例

[Python][Windows] Outlookのフォルダの更新を行なう実装例

PythonからOutlookに「すべてのフォルダーの送受信」(っぽいもの)を指示し、完了するまで待つような実装例です。
※元ネタ:かづき@kadukijobさんのツイート(ポスト)より

使い方

その1

を呼び出し側のソースコードと同じフォルダにおいて、

@furyutei
furyutei / 0.README.md
Last active February 23, 2024 03:16
[VBA] Collectionオブジェクトのキーを配列で返す関数

[VBA] Collectionオブジェクトのキーを配列で返す関数

VBAのCollectionオブジェクトでキー一覧を取得する方法が用意されていないので、そのような関数を試作。
※といっても参考にした処理をちょっといじって32/64ビット両対応にしただけともいう…

Function GetCollectionKeys(ByVal TargetCollection As Collection) As Variant()

引数で指定したCollectionオブジェクトに設定されているキー一覧を0オリジンの配列で返す。

@furyutei
furyutei / 0.README.md
Last active February 16, 2024 10:23
window.postMessageを使用した異なるドメイン間の通信サンプル

[JavaScript] window.postMessageを使用した異なるドメイン間の通信サンプル

ポップアップウィンドウで異なるドメインのページを開き、元のページと通信するユーザースクリプトのサンプル。

サンプルユーザースクリプト

  1. test-postMessage.user.js

お試し方法

@furyutei
furyutei / 0.README.md
Last active February 2, 2024 17:08
[Python] requestsのsession使用時にrequests.exceptions.SSLErrorが出てしまうケースへの対応

[Python] requestsのsession使用時にrequests.exceptions.SSLErrorが出てしまうケースへの対応

この例のように

session = requests.session()
response = session.get(TEST_URL)
"""
# TEST_URLのサーバーの設定によっては
# requests.exceptions.SSLError: HTTPSConnectionPool(host='*****', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:992)')))
@furyutei
furyutei / 0.README.md
Created January 26, 2024 18:53
[Excel] 拡張SCAN/BYROW/BYCOL

[Excel] 拡張SCAN/BYROW/BYCOL

元ネタはぼやきツイート

しかし #エクセル のSCAN・BYROW・BYCOLあたりは(ヘルパー関数の戻り値として)せめて一次元配列を保持できればもうちょい使いやすかったのになぁ…と思わなくもない…

より。