ExcelVBA
VBA・マクロの先頭付近に次の3行を追加する : Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManualVBA・マクロの最後付近に次の3行を追加する : Application.ScreenUpdating = T…
Application.Interactive = False ネタ元 http://msdn.microsoft.com/ja-jp/library/office/ff841248%28v=office.15%29.aspx
Kill(pathname)ネタ元 http://www.openreference.org/articles/view/340
ADODB.Stream を使います。 Sub loadLogFile2(ByRef fileName As Variant) Dim rowNo As Integer Dim readString As String Dim st As Object Set st = CreateObject("ADODB.Stream") 'ADODB.Stream生成 st.Type = 2 'オブジェクトに保存するデータの種類を…
#If Win64 Then Private Declare PtrSafe Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Long #Else Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Long #End If ... If 0 <> GetAsyncKeySta…
参照不可のライブラリができてる可能性アリ。チェックしてみよう ネタ元 http://www.moug.net/tech/exvba/0150128.html
DoEventsないと コケることある Dim buf As String, buf2 As String, CB As New DataObject buf = "tanaka" With CB .SetText buf ''変数のデータをDataObjectに格納する DoEvents .PutInClipboard ''DataObjectのデータをクリップボードに格納する DoEvents…
Workbooks("アドインファイル名").Application.Run ("モジュールやシート名.関数やプロシジャ名") ネタ元 http://www.happy2-island.com/excelsmile/smile03/capter00712.shtml
アドインとsite保存したモジュールでVBProject.References.AddFromGuidすればいいらしいが、Excelマクロのセキュリティで「VBAProjectプロジェクトへのアクセスを信頼する」をONにしないとエラーになる。自分で使う分にはいいが一般に広めるのに使うのは辛い…
拡張子をみて保存形式を切り替えてくれる Dim vntFileName As Variant 'ファイルを保存するダイアログを開きます vntFileName = _ Application.GetSaveAsFilename( _ InitialFileName:=ThisWorkbook.Name _ , FileFilter:="エクセルファイル(*.xls),*.xls" &…
Flagsに4を指定 Const navNoReadFromCache = 4 ... objIE.Navigate "https://www.yahoo.co.jp", navNoReadFromCache なぜ4なのかはここの定義参照 typedef enum BrowserNavConstants { navOpenInNewWindow = 0x1, navNoHistory = 0x2, navNoReadFromCache = …
#ifで Function GetExcelProcessBit() As String #If Win64 Then GetExcelProcessBit = "64" #Else GetExcelProcessBit = "32" #End If End Function
Function GetProcessBit() As String Dim colItems As Object Dim itm As Object Set colItems = CreateObject("WbemScripting.SWbemLocator").ConnectServer.ExecQuery("Select * From Win32_OperatingSystem") GetOSProcessBit = "32" For Each itm In col…
正規表現を使って簡単に Private Function cdataConv(str As String) As String Dim regEx As New RegExp regEx.Pattern = "<[^>]*>" regEx.Global = True cdataConv = regEx.Replace(str, "") End Function ネタ元 http://news.mynavi.jp/articles/2012/04/…
数式に使うMAXとMINのような関数が 当然、VBAの関数にもあると思っていました。 しかし実際にはありません。 最大と最小をVBAで求めるには、 ワークシート関数を使います。 ワークシート関数とは 数式に使うMAXとMINのような関数です。 すべてのワークシート…
CurDir()だと、イマイチ思ったドライブのフォルダが取れないネタ元 http://stackoverflow.com/questions/19824164/how-to-get-current-working-directory-using-vba
Height / Width というプロパティがあるので指定。 Dim IE As InternetExplorer Set IE = CreateObject("InternetExplorer.Application") With IE .Visible = True .Top = 200 .Left = 100 .Height = 400 .Width = 1000 .Resizable = False End Withネタ元 h…
標準のVALUE()だと数字以外の文字が入っているとエラーになっちゃう。 オリジナルマクロにするのが楽みたい 'オリジナルValue() '最初の数字部分を返す '整数でいいなら As Integer でいいよ Function convValue(aArg) As Double Dim objRE As Object Dim st…
IMGタグ探してsrcが一定条件のもの見つけてClick Dim objImage For Each objImage In objIE.Document.getElementsByTagName("IMG") If InStr(objImage.src, "/pc/images/gm_home.gif") > 0 Then objImage.Click Exit For End If Next
' シート内の全画像を削除 Sheets("シートA").Activate Dim pic For Each pic In ActiveSheet.Pictures pic.Delete Next
鮮やかにキャプチャするモジュールが公開されていた。多謝!なくなると困るのでコピペ '****************************************************************************** '* 【参考元】 '* Microsoft Support '* 画面、フォーム、ウィンドウを取り込んで印…
.ExecWBメソッドで指定。.ExecWB メソッド では いろいろなコマンドを発行できるみたい。 Sub test2() Const OLECMDID_OPTICAL_ZOOM = 63 Const OLECMDEXECOPT_DODEFAULT = 0 Dim ObjIE As Object Dim ZoomRate As Variant ZoomRate = 70 '拡大率 Set ObjIE …
ShowWindowを使う Dim ObjIE As Object '変数を定義 'Sleepを使用する場合のお約束 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'ShowWindowを使用する場合のお約束 Declare Function ShowWindow Lib "user32" (ByVal hwindow As Long…
keybd_eventというAPIを利用。ただOSからのイベントになるようなので、マクロが動いてる最中だとキーイベントが通らなくてキャプチャ失敗ということがよくある。DoEventsやSleepでごまかしながらやってみる必要あり。 Private Declare Sub keybd_event Lib "…
[ExcelVBA]InnerTEXTでaタグの内側のテキストをとれる On Error Resume Next Dim i For i = 0 To 9 If InStr(objIE_livestar.Document.Links(i).InnerTEXT, "項目3") <> 0 Then objIE.Document.Links(i).Click IE_Complete objIE '表示終わるまで待つ処理(オ…
[excelVBA] Dim IEA As Object Dim FSO As Object Set IEA = CreateObject("InternetExplorer.Application") Set FSO = CreateObject("Scripting.FileSystemObject") MsgBox "IEのバージョンは" & FSO.GetFileVersion(IEA.FullName) & "です。" Set FSO = No…
.NET で作成した COM 対応コンポーネントのレジストリ登録には regasm.exe を利用する。 regasm.exe /codebase XXX.DLL regasm.exeにはパスが通ってないので、 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exeとかで。ちなみにcodebaseというのは…
[excelvba]Excel Version Excel Versionプロパティの戻り値 Excel 2013 15.0 Excel 2010 14.0 Excel 2007 12.0 Excel 2003 11.0 Excel 2002 10.0 Excel 2000 9.0 Excel 97 8.0 Excel 95 7.0 Excel 5.0 5.0 ネタ元 http://unsolublesugar.com/20130120/144522/
[excelVBA] XMLHTTPオブジェクトで簡単に習得できる Sub Sample() Dim Http, buf As String Set Http = CreateObject("MSXML2.XMLHTTP") Http.Open "GET", "http://www.officetanaka.net/other/index.htm", False Http.Send buf = StrConv(Http.ResponseBody…
[excelvba]VBAでこうやってExcelのバージョンがとれます。 Sub Sample1() MsgBox Application.Version End Sub Versionプロパティは、次の文字列を返します。 Excel 2010 → 14.0 Excel 2007 → 12.0 Excel 2003 → 11.0 Excel 2002 → 10.0 Excel 2000 → 9.0 Ex…