1        声明

本手册及样例包均为免费提供,仅供参考。所述版本、应用及案例可能与用户实际应用不符,请用户在使用前认真阅读相关使用说明,根据自身的应用环境及机床特点进行调整,并进行严格的测试,以规避可能存在的风险。对于在使用中发生的人员、财产等损失,由用户自行承担。

以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新恕不做另行通知。

2        概述

2.1        说明

CommonDialog是Visual Basic(简称VB)编程语言的控件,它提供一组标准的操作对话框,进行诸如打开和保存文件,设置打印选项,以及选择颜色和字体等操作。通过运行 Windows 帮助引擎控件还能显示帮助。

使用指定的方法,CommonDialog控件能够显示下列对话。

方法

所显示的对话框

ShowOpen

显示“打开”对话框

ShowSave

显示“另存为”对话框

ShowColor

显示“颜色”对话框

ShowFont

显示“字体”对话框

ShowPrinter

显示“打印”或“打印选项”对话框

ShowHelp

调用   Windows 帮助引擎

2.2        使用条件

CommonDialog控件在Visual BasicMicrosoft Windows动态链接库ommdlg.dll. 的例程之间提供了一个接口。为了用这个控件创建一个对话框,ommdlg.dll. 必须在 Microsoft Windows 的SYSTEM目录下。

2.2.1        VB中使用

安装Visual Basic 6.0编程软件,在控件的选项卡里可以直接选择该控件使用

image.png

2.2.2        VBScript(VB脚本)中使用

创建对话框对象语法:CreateObject("MSComDlg.CommonDialog")

在测试中,该创建对象并不能生效,经查阅资料,想要通过VB脚本调用Windows API需要一个授权,该授权在VB中提供,也就是说想要在VB脚本中创建Windows对话框,需要在运行VB脚本的PC上安装VB软件。安装完VB后,创建对话框可正常使用。

image.png

3        应用

TIA Portal WinCC中通过按钮触发VB脚本来测试CommonDialog对话框控件的各项功能。

3.1        打开

打开文件功能也包含在WinCC自带的函数中,可以通过对比来观察自带函数和CommonDialog对话框控件的区别。

3.1.1        WinCC自带函数

image.png

image.png

上图为WinCC自带的函数打开文件浏览器的运行效果。

3.1.2        CommonDialog对话框

VB脚本语句:

Set CDialog=CreateObject("MSComDlg.CommonDialog")

CDialog.Filter="Text File(*.txt)|*.txt|CSV File(*.csv)|*.csv"     //打开文件格式

CDialog.InitDir="C:\"                                                                    //起始路径

CDialog.ShowOpen

image.png

3.2        另存

VB脚本语句:

Set CDialog=CreateObject("MSComDlg.CommonDialog")

CDialog.Filter="Text File(*.txt)|*.txt|CSV File(*.csv)|*.csv"     //打开文件格式

CDialog.InitDir="C:\"                                                                    //起始路径

CDialog.ShowSave

image.png

在对话框中定义的文件名会输出到CDialog. FileName

3.3        颜色选择

Set CDialog=CreateObject("MSComDlg.CommonDialog")

CDialog.ShowColor

image.png

在对话框中选择的颜色值会输出到CDialog. Color

 

3.4        字体

Set CDialog=CreateObject("MSComDlg.CommonDialog")

CDialog.ShowFont

image.png

在对话框中选择的字体值会输出到CDialog. FontName,CDialog. FontSize,CDialog.FontBold等变量中

3.5        打印

Set CDialog=CreateObject("MSComDlg.CommonDialog")

CDialog.ShowPrinter

image.png

也可以通过CDialog. FromPage,CDialog.ToPage,CDialog.Copies等参数提前设置好打印参数

4        参考文献

作者/联系人

Jia Ran

2022.07.20