龙空技术网

VBA利用邮箱服务器发送电子邮件

VBA语言専攻 232

前言:

现在小伙伴们对“发送邮箱服务器”大约比较注重,你们都想要剖析一些“发送邮箱服务器”的相关内容。那么小编在网上搜集了一些对于“发送邮箱服务器””的相关文章,希望小伙伴们能喜欢,大家一起来了解一下吧!

【分享成果,随喜正能量】生活,就是一种永恒沉重的努力,努力使自己在自我之中,努力不至迷失方向,努力在原位中坚定存在。当你已经觉得自己非常努力时,须明白一不幸的事实,那就是不管你多努力,一定有人比你更努力,所以随时检讨自己努力的方向是否正确尤其重要,在错误的道路上越努力,结果越悲催。另外,当你努力不成时,若你会和那些毫不努力却也看上去混得不错的人比,除了让自己放弃努力,只会空叹不平衡。

《VBA之Excel应用》是非常经典的,是我推出的第七套教程,定位于初级。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家能掌握利用。今日讲解的内容是“VBA之EXCEL应用”的第十六章“用户窗体(Userform)对象”的第2节:VBA中自定义窗体的属性

第二节 窗体的属性和显示

大家好,我们继续窗体对象的学习,在上一节中,我们讲了窗体的一些基本知识以及控件的基本介绍,我们这讲开始讲解窗体的一些属性和如何在程序中调用窗体。VBA是一种面向对象编程的语言,对于一个对象而言,属性就是这个对象的基本性质。下面我们看窗体这个对象有哪些属性。

1 窗体的属性

我们选择窗体,按下F4键会出现属性窗口,或者右键也可以选择属性进入界面:

1)名称:指这个控件的名称,长度不得超过40个字符。注意要区别于Caption属性。

2)BackColor:用于设置窗体的背景色。

3)Caption:控件显示的标题文本。

4)BorderStyle:设置窗体的边框样式。

5)Enabled:用于设置窗体是否有效。设置为True时,程序运行时窗体可以被操作,即窗体可以响应作用于它的事件,设置为False时,窗体不可以被操作,而且窗体上的对象也不可以进行操作。

6)Font:设置窗体上文本的字体、字型和字号。

7)ForeColor:设置窗体上文本和图形的前景色。

8)Moveable:设置窗体在程序运行时能否被移动。

9)Left和Top:用于设置程序运行时窗体在屏幕上的位置,Left属性值决定窗体左上角在屏幕上的横坐标,Top属性值决定窗体左上角在屏幕上的的纵坐标。

10)Height和Width:用于设置程序运行时窗体在屏幕上的大小(高和宽),Height属性值决定窗体的高度,Width属性值决定窗体的宽度。

11)Picture:用图片填充窗体背景。单击可以选择路径。

12)ShowModal:模式选择。如果为FALSE,则窗体模式为无模式,此时可以显示窗体并选择单元格和其他窗体;如果为TRUE,则为有模式,无法选择其他窗体和单元格。代码调用模式优于此属性设置。

13)StartUpPosition:调整窗体出现的位置。

在之前的讲解中,我提到过,属性的意义有些是通用的,在这里也是一样,和之前讲解过的属性的含义是一致的。我们在调用某个窗体的时候,可以用到这个窗体的名称调用即可。

2 窗体的显示

创建某个窗体是为了更好的和用户的交互,这就需要显示我们创建的窗体。

显示窗体的语法:UserFormName.Show

其中UserFormName就是要显示的窗体名称。

窗体显示方式分两种,可以通过ShowModal属性或者代码调用进行设置。

1)有模式:此模式下,只显示本窗体,只能在本窗体使用控件,无法选择其他窗体或者工作表对象。默认ShowModal属性为TRUE,也就是有模式。

2)无模式:无模式下,可以同时显示多个窗体,能在多个窗体间切换(其他窗体也必须是无模式),能自由选择工作表对象,例如复制单元格内容等操作。

我们还可以通过代码设置显示模式,用UserFormName.Show的方法显示窗体。

1)强制使用有模式显示:UserForm1.Show 1

2)强制使用无模式显示:UserForm1.Show 0

如不指定Show的参数,UserForm1.Show调用模式按ShowModal原有属性设置显示窗体模式。

load UserForm1只是装载窗体到内存中而不显示。3 窗体的隐藏及卸载

需要隐藏或者关闭一个窗体时,可以用Hide,如下代码表示隐藏UserForm1窗体:

UserForm1.Hide

也可以通过点击窗体右上方的红色关闭按钮实现。

窗体的卸载:Unload UserForm1,通过Unload从内存中删除窗体,释放窗体所占用的内存空间。

4 用户窗体的生命周期

在上面的讲解中,我先后提到了窗体的show,Load,Unload,用于窗体的显示和加载及卸载,那么窗体是什么时间存在于工程中的呢?或者说窗体的生命周期是多长呢?

我们可以在用户窗体窗口中或者是在用户窗体的代码模块中,按F5键来显示用户窗体。如果在模块中有一个 Userform_Initialize过程,那么在用户窗体显示时,该过程将首先运行。

如果要使用代码显示和隐藏用户窗体(例如,可能想在UserForm1窗体中使用一个命令按鈕来隐藏UserForm1窗体并显示UserForm2窗体),应该使用Show方法(显示窗体)和Hide方法(隐藏窗体).

用户窗体显示之前,必須装载到内存中。如果显示一个没有装裁的用户窗体,该窗体将自动装载。事实上,用户窗体中的任何引用或者变量或者控件或者属性都将强制装载,并且触发初始化事件。如果想初始化用窗体但不显示窗体的话,可以使用如下方式装载:

Load frmMain

在隐蔵了用户窗体后,该窗体仍然被装载。如果再次显示它,初始化程序不会再运行。(但Activate程序将会运行。)为了从内存中清除窗体,必须卸载(unload)它。当用户単击关闭接钮关闭窗体时,用户窗体将自动卸载。

因此,用户窗体装载和卸载的顺序是:装载(Load)—显示(Show)—隐藏(Hide)—卸载(Unload)。卸载会清除用户窗体模块中的所有的变量——类似于停止了一个过程。用户已经输入的任何数值都将丟失,控件将恢复为属性窗口中输入的缺省值。如果想保存它们的值,则需要在卸载用户窗体前进行保存。由此可以看出装载(Load)及卸载(Unload)间(含)的时间就是一个窗体的生命周期。

今日内容回向:

1) 窗体的属性有哪些?

2) 如何加载窗体?如何显示窗体?

3) 如何卸载窗体?窗体的生命周期几何?

本讲内容参考程序文件:工作簿16xlsm

标签: #发送邮箱服务器