Skip to content

Instantly share code, notes, and snippets.

View imihito's full-sized avatar

imihito imihito

View GitHub Profile
@imihito
imihito / file0.txt
Last active April 9, 2020 23:01
オブジェクト型配列→Variant型の罠 ref: https://qiita.com/nukie_53/items/9ef4ee86f1e1bfee8ad3
Sub 値型配列の場合、正しく型が伝播する()
Dim Lngs() As Long
ReDim Lngs(0 To 1)
Dim tmp As Variant
tmp = Lngs
Debug.Print VBA.TypeName(Lngs) 'Long()
Debug.Print VBA.TypeName(tmp) 'Long()
@imihito
imihito / file0.txt
Last active May 15, 2018 14:51
[VBA]自作クラスに説明を追加する ref: https://qiita.com/nukie_53/items/9998ba12bd3c80780fb4
Attribute プロシージャ名.VB_Description = "プロシージャの説明"
@imihito
imihito / Class1
Created February 23, 2017 13:37
PowerShellからVBAのプロシージャを呼ぶ ref: http://qiita.com/nukie_53/items/b4e0b0be703b9c8b1382
Option Explicit
Public Msg As String
Public Col As VBA.Collection
Private Sub Class_Initialize()
Set Col = New VBA.Collection
End Sub
@imihito
imihito / file0.txt
Last active January 28, 2019 14:56
VBA.IsMissingの致命的な問題 ref: https://qiita.com/nukie_53/items/9bfbe89ac491e99f9665
Office2010 32bit on Windows 7 64bit
Office2016 64bit on Windows 10 64bit
@imihito
imihito / file0.txt
Last active May 26, 2018 08:41
64bit版VBAでScriptControlを使用する ref: https://qiita.com/nukie_53/items/8401232a2d626c7f8078
Windows10 64bit
MSOffice Excel 2016 64bit
Windows PowerShell v5 32bit
@imihito
imihito / file1.txt
Last active December 1, 2018 07:44
参照設定の一覧をExcelに出力する ref: https://qiita.com/nukie_53/items/b6bf72a30b5901743192
Option Explicit
'出力するテーブルの列番号
Private Enum RefColumnNo
rcnName = 1
rcnDesc
rcnPath
rcnGUID
rcnVer
End Enum
@imihito
imihito / file0.txt
Last active October 2, 2017 21:52
[VBA]ExcelのRangeが同じ範囲を参照しているかを判定する関数 ref: http://qiita.com/nukie_53/items/0cf24460ba0d87f696e2
'iRng1とiRng2が同じ範囲を参照しているかを判定する関数。
Function RangeEqual(ByVal iRng1 As Excel.Range, ByVal iRng2 As Excel.Range) As Boolean
Let RangeEqual = (iRng1.Address(External:=True) = iRng2.Address(External:=True))
End Function
@imihito
imihito / file0.txt
Created October 14, 2017 07:13
FileSystemObject多用時はキャッシュすると良い ref: http://qiita.com/nukie_53/items/12228000a68ea83fe3fb
Debug.Print CreateObject("Scripting.FileSystemObject") Is CreateObject("Scripting.FileSystemObject")
' -> False
@imihito
imihito / PowerShellでやっていること
Last active November 14, 2017 14:35
VBAでクリップボードに画像を送る(手抜き版) ref: https://qiita.com/nukie_53/items/2ae05ef1362da7eeb447
# 必要なアセンブリロード
Add-Type -AssemblyName System.Windows.Forms,System.Drawing
# クリップボードに画像を送る
[System.Windows.Forms.Clipboard]::SetImage( #
# 文字列を[System.Drawing.Bitmap]にキャストしようとすると
# [System.Drawing.Bitmap]::FromFile 相当の処理がPowerShellから呼ばれる。
[System.Drawing.Bitmap]' ここに引数のimagePathが埋め込まれる '
)
@imihito
imihito / file0.txt
Created November 24, 2017 15:06
Excelのテーブルをオブジェクトの集合へ変換する関数 ref: https://qiita.com/nukie_53/items/51261c104c9484a2ac7e
''' <summary>
''' srcTableの各行を見出しをKeyとするDictionaryへ変換し
''' Collectionへ格納します。
''' </summary>
''' <param name="srcTable">変換するテーブル。</param>
''' <returns>Scripting.Dictionaryを要素とするVBA.Collection</returns>
Function TableToDictionaries(ByVal srcTable As Excel.ListObject) As VBA.Collection
'テーブルからデータをメモリ上にロード