カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

フォームの状態を調べる

Dim varRet as Variant

varRet = SysCmd(acSysCmdGetObjectState, acForm, "[フォーム名]")

0=開いていない
1=開いている
5=新しいフォームです
7=編集されたが、まだ保存されていない

2,125 views

DoEventsの代替

Declare Function GetInputState Lib "USER32" () As Long

if GetInputState() Then DoEvents
4,521 views

VBA Excelシートを別ファイルにコピー

'# Excel作成
Public Sub mkExcel_withInvoice()
On Error GoTo Exception

 Dim xl As Object
 Dim xl2 As Object
 Dim TempPath As String
 Dim Template As String
 Dim SavePath As String
 Dim FileName As String
 TempPath = "C:\"
 Template = TempPath & "雛型.xls"
 SavePath = Environ("USERPROFILE") & "\デスクトップ\"
 FileName = SavePath & "シートを別ファイルにコピー.xls"

 FileCopy Template, FileName

 Set xl = GetObject(FileName, "Excel.Sheet")
 xl.Parent.Windows(1).Visible = True

続きを読む…»

7,556 views

SQL実行

DoCmd.RunSQL "SQL Statement"[, UserTransaction=True]
2,556 views

PCが起動しているかを調べる

Private Sub Example()

  If PingResult("192.168.1.1") = False Then
    MsgBox "PCが起動していません。"
  Else
    MsgBox "PCは起動しています。"
  End If

End Sub

Function PingResult(strHostname As String)

  Dim objWMIService As Object, objStatus As Variant

  Set objWMIService = _
    GetObject("winmgmts:{impersonationLevel=impersonate}"). _
    ExecQuery("select * from Win32_PingStatus where address = '" & _
    strHostname & "'", , 48)

  For Each objStatus In objWMIService
    If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
      PingResult = False
    Else
      PingResult = True
    End If
  Next

End Function
7,334 views