Skip to content

Instantly share code, notes, and snippets.

@kumatti1
kumatti1 / myFileDialog.tlb
Created January 31, 2012 00:10
VBAでのIFileDialog
自作したTypeLibに参照設定
Option Explicit
Declare Sub CoTaskMemFree Lib “Ole32.dll” (ByVal pv&)
Declare Function lstrlenW& Lib “Kernel32.dll” (ByVal lpString&)
Declare Sub RtlMoveMemory Lib “Kernel32.dll” (ByVal Destination&, ByVal Source&, ByVal length&)
Sub hoge()
Dim o As IFileOpenDialog
@kumatti1
kumatti1 / gist:1714700
Created February 1, 2012 02:33
VBAでのTaskDialog(Win7SP1)
Option Explicit
Enum ICONS
TD_WARNING_ICON = 65535
TD_ERROR_ICON = 65534
TD_INFORMATION_ICON = 65533
TD_SHIELD_ICON = 65532
End Enum
Enum TASKDIALOG_COMMON_BUTTON_FLAGS
@kumatti1
kumatti1 / gist:1714757
Created February 1, 2012 02:44
TaskDialogの定数確認
#include <windows.h>
#include <Commctrl.h>
#include <stdio.h>
void main()
{
WCHAR tmp[50];
swprintf(tmp,50,L"%d",TD_INFORMATION_ICON );
MessageBoxW(nullptr, tmp, nullptr, MB_OK);
}
@kumatti1
kumatti1 / gist:1714772
Created February 1, 2012 02:48
VBA用idl変換
var FilePath = 'test2.txtへのパス';
var s = new ActiveXObject("Scripting.FileSystemObject").OpenTextFile(FilePath).ReadAll();
//WScript.Echo(s);
// carriage returnの削除
s = s.replace(/\r/g,'');
// WScript.Echo(s);
// 引数の属性
s = s.replace(/\[.*\]/g,'[in]');
@kumatti1
kumatti1 / gist:1726828
Created February 3, 2012 00:57
VBAでのTaskDialogIndirect(Win7SP1)
Option Explicit
Enum ICONS
TD_WARNING_ICON = 65535
TD_ERROR_ICON = 65534
TD_INFORMATION_ICON = 65533
TD_SHIELD_ICON = 65532
End Enum
Enum TASKDIALOG_FLAGS
@kumatti1
kumatti1 / gist:1856305
Created February 17, 2012 23:45
VBAでモニタ名を得る
Option Explicit
Enum MONITORS
MONITOR_DEFAULTTONULL
MONITOR_DEFAULTTOPRIMARY
MONITOR_DEFAULTTONEAREST
End Enum
Const PHYSICAL_MONITOR_DESCRIPTION_SIZE = 128 - 1
@kumatti1
kumatti1 / gist:2165075
Created March 22, 2012 22:21
C++のテスト
#include <windows.h>
void main()
{
//第二引数
LPDWORD pdwTmp = (LPDWORD)nullptr;
//第一引数
LPDISPATCH *ppDisp = (LPDISPATCH*)pdwTmp;
@kumatti1
kumatti1 / gist:2165098
Created March 22, 2012 22:26
DHTML Timer
Option Explicit
'http://www.ka-net.org/office/of12.html
'Microsoft HTML Object Library
Private d As MSHTML.HTMLDocument
Private w As MSHTML.IHTMLWindow2
Private TimerId As Long
@kumatti1
kumatti1 / gist:2176573
Created March 24, 2012 00:06
vtbl書き出し
Option Explicit
Private Declare Sub RtlMoveMemory Lib "Kernel32.dll" (ByVal Destination&, ByVal Source&, ByVal length&)
Sub hoge()
Dim vtbl&()
Dim pVtbl&, pObj&, size&, i&
Dim unk As stdole.IUnknown
@kumatti1
kumatti1 / ReadMe.md
Created April 2, 2012 23:08
・Windows リボンフレームワーク

###始めに Windows7以降には上記のCOMがサポートされているが、 Vista向けにはWindows Updateで提供され、単独のKBでも入手出来る。 (これがどういったものなのかは、7のペイントやワードパッドで確認出来る)

Officeのリボンと決定的に違うのは、マークアップバイナリをリソースに持たせる点だろう。 さて、リソースの話をしたが、通常自前のexeならexe側に持たせる事もよくあるが、 Officeではそれは妥当と言えないだろう。

なので、DLLに持たせるのだが、お分かりだろうか。