前面已经讨论过利用VBS的CreateObject方法来干很多以前不敢想象的事情,但Windows API却没有办法,虽有DynmicWrapper.dll这样的东西,毕竟使用起来不方便,而且功能也有限。如果利用EXCEL作为突破口,VBS调用EXCEL的宏,而由EXCEL的宏来调用Windows API正可以很好的解决这一问题。

1. 简单举例 

在API.XLS的Sheet1中加入如下代码:

Private Declare Function SHShutDownDialog Lib "shell32" Alias "#60" (ByVal
YourGuess
As Long) As Long
Public Sub ShowShutDownDlg() '显示关机界面
SHShutDownDialog 0
End Sub

在WinCC调用之前先用EXCEL运行一下,效果如下:

WinCC VBS利用EXCEL调用Windows API函数

 

接下来由WinCC的VBS调用如下:

Dim oExcelFile,oExcel,oWorkBook,oSheet
oExcelFile
= HMIRuntime.ActiveProject.Path + "\APIXLS\API.XLS"
Set oExcel = CreateObject("Excel.Application")
Set oWorkBook = oExcel.workbooks.OPen(oExcelFile)
Set oSheet = oWorkBook.Sheets("Sheet1")
oExcel.run
"Sheet1.ShowShutDownDlg"
oWorkBook.Close
Set oWorkBook = Nothing
oExcel.quit
Set oExcel = nothing

相关文章:

  • 2022-02-01
  • 2022-12-23
  • 2021-11-04
  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
猜你喜欢
  • 2022-12-23
  • 2021-12-07
  • 2021-08-22
  • 2022-01-23
相关资源
相似解决方案