Skip to content

Instantly share code, notes, and snippets.

@kumatti1
kumatti1 / myFileDialog.tlb
Created Jan 31, 2012
VBAでのIFileDialog
View myFileDialog.tlb
自作した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 Feb 1, 2012
VBAでのTaskDialog(Win7SP1)
View gist:1714700
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 Feb 1, 2012
TaskDialogの定数確認
View gist:1714757
#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);
}
View gist:1714772
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 Feb 3, 2012
VBAでのTaskDialogIndirect(Win7SP1)
View gist:1726828
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 Feb 17, 2012
VBAでモニタ名を得る
View gist:1856305
Option Explicit
Enum MONITORS
MONITOR_DEFAULTTONULL
MONITOR_DEFAULTTOPRIMARY
MONITOR_DEFAULTTONEAREST
End Enum
Const PHYSICAL_MONITOR_DESCRIPTION_SIZE = 128 - 1
View gist:2165075
#include <windows.h>
void main()
{
//第二引数
LPDWORD pdwTmp = (LPDWORD)nullptr;
//第一引数
LPDISPATCH *ppDisp = (LPDISPATCH*)pdwTmp;
View gist:2165098
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 Mar 24, 2012
vtbl書き出し
View gist:2176573
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 Apr 2, 2012
・Windows リボンフレームワーク
View ReadMe.md

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

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

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