Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 12404|回复: 23

[分享] VB学习之 --- Msgbox 用法

[复制链接]
发表于 2008-1-23 13:17 | 显示全部楼层 |阅读模式
 以下几个小短文均来自liu_0909 的空间,收集整理时顺便贴到这

在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。

语法 :MsgBox(prompt[, buttons] [, title] [, helpfile, context])

MsgBox 函数的语法具有以下几个命名参数:

部分                  描述

Prompt 必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。 Buttons 可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。

Title 可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。 Helpfile 可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context。

Context 可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile。

设置值 buttons 参数有下列设置值:

常数                                值                              描述

vbOKOnly                        0                              只显示 OK 按钮。

VbOKCancel                   1                               显示 OK 及 Cancel 按钮。

VbAbortRetryIgnore        2                               显示 Abort、Retry 及 Ignore 按钮。

VbYesNoCancel              3                               显示 Yes、No 及 Cancel 按钮。

VbYesNo                         4                                显示 Yes 及 No 按钮。

VbRetryCancel                5                                显示 Retry 及 Cancel 按钮。

VbCritical                        16                               显示 Critical Message 图标。

VbQuestion                    32                                显示 Warning Query 图标。

VbExclamation               48                                 显示 Warning Message 图标。

VbInformation                64                                 显示 Information Message 图标。

vbDefaultButton1           0                                  第一个按钮是缺省值。

vbDefaultButton2           256                               第二个按钮是缺省值。

vbDefaultButton3           512                              第三个按钮是缺省值。

vbDefaultButton4           768                               第四个按钮是缺省值。

vbApplicationModal        0                                  应用程序强制返回;应用程序一直被挂起,直到用户对

                                                                         消息框作出响应才继续工作。

vbSystemModal              4096                            系统强制返回;全部应用程序都被挂起,直到用户对消

                                                                          息框作出响应才继续工作。

vbMsgBoxHelpButton    16384                               将Help按钮添加到消息框

VbMsgBoxSetForeground     65536                      指定消息框窗口作为前景窗口

vbMsgBoxRight                 524288                        文本为右对齐

vbMsgBoxRtlReading             1048576             指定文本应为在希伯来和阿拉伯语系统中的从右到左显示

第一组值 (0–5) 描述了对话框中显示的按钮的类型与数目;第二组值 (16, 32, 48, 64) 描述了图标的样式;第三组值 (0, 256, 512) 说明哪一个按钮是缺省值;而第四组值 (0, 4096) 则决定消息框的强制返回性。将这些数字相加以生成 buttons 参数值的时候,只能由每组值取用一个数字。

注意 这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。

返回值              常数值          描述

vbOK               1                      OK

vbCancel          2                   Cancel

vbAbort           3                      Abort

vbRetry           4                      Retry

vbIgnore         5                      Ignore

vbYes            6                        Yes

vbNo 7 No

说明:在提供了 helpfile 与 context 的时候,用户可以按 F1 来查看与 context 相应的帮助主题。像 Microsoft Excel 这样一些主机应用程序也会在对话框中自动添加一个 Help 按钮。 如果对话框显示 Cancel 按钮,则按下 ESC 键与单击 Cancel 按钮的效果相同。如果对话框中有 Help 按钮,则对话框中提供有上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。

注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 MsgBox。为了省略某些位置参数,必须加入相应的逗号分界符

[此贴子已经被作者于2008-1-23 13:31:15编辑过]
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2008-1-23 13:19 | 显示全部楼层

VB小知识点

****************************************
mousepointer 属性
****************************************

指定运行时,鼠标在一个对象的特定位置之上时,鼠标指针的形状。设计和运行时该属性均可用。

语法

Object.MousePointer[ = nType]

设置

nType

mousepointer 属性的设置有:

设置说明
0(默认值)由对象决定的形式。
1箭头。
2十字标。一个十字指针。
3I- 型标。
4图标。一个黑块中的一个小白块。
5尺寸调整标。指向东西南北的四箭头。
6东北 — 西南方向尺寸调整标。 指向东北和西南的双箭头。
7南北方向尺寸调整标。指向南北的双箭头。
8西北 — 东南方向尺寸调整标。 指向西北和东南的双箭头。
9东西方向尺寸调整标。 指向东西的双箭头。
10向上的箭头。
11沙漏。
12禁止停放。
13隐藏指针。
14箭头。

注意 用属性单设置 MousePointer 属性时,下拉列表显示了应用于 VisualFoxPro for Windows 的设置名称。

说明

mousepointer 属性可以用来表明当鼠标指针经过表单或对话框上的控件时功能的变化。例如可以把 mousepointer 属性设置为 11 (沙漏),表明用户需要等待某过程的结束。

****************************************
Doevents 函数
****************************************

DoEvents函数 返回

转让控制权,以便让操作系统处理其它的事件。

语法

DoEvents( )

说明

DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic 专业版,在其它的应用程序中,DoEvents 返回 0。

DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。

DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。

注意 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。

回复

使用道具 举报

 楼主| 发表于 2008-1-23 13:25 | 显示全部楼层

VB学习之--打开/读取文本文件各种方法
 

打开文本文件各种方法

方法一:
用定长的String变量获取文本内容。由于定长String变量支持的下界为65400,所以在打开超过32K字节的文件时超出部分的字节将无法获取:
Private Sub Command1_Cliack()
Dim sA As String * 65400 注释:声明定长String变量
Open "F:\d.txt" For Binary As #1 注释:用二进制打开文件
Get #1, , sA 注释:用Get语句从文件中获取字节
Text1 = sA 注释:显示打开的文件
Close #1 注释:关闭文件
End Sub

方法二:
先声明一字符串变量,然后用空格填充字符串,使变量大小与文件大小一致,再通过Get语句将文件全部数据存储到变量中,从而达到获取整个文件字节数的目的。此法可以打开大于32K的文件,但应该注意的是,装载文件的容器必须能装载大于32K的文件,下例用RichTextBox控件显示打开的文件:
Private Sub Command1_Click()
Dim sA As String
Open "f:\d.txt" For Binary As #1
sA = Space(LOF(1)) 注释:用空格填充sA变量
Get #1, , sA 注释:用Get语句获取文件全部内容
RichTextBox1.Text = sA
Close #1
End Sub

方法三:
用StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件。此法笔者曾有一篇文章谈及,这里再给一个简单例子:
Private Sub Command1_Click()
Open "f:\d.txt" For Input As #1
RichTextBox1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)
Close #1
End Sub

方法四:
用Shell语句直接调出Windows的记事本,给个文件名即可轻而易举地打开文本文件。此法适合于打开程序的Readme文件(注意:在可执行文件和要打开的文本文件之间要有空格):
Shell "NotePad.EXE f:\d.txt",vbNormalFucus

方法五:
用RichTextBox控件自身的LoadFile属性打开文件:
RichTextBox1.LoadFile "f:\d.txt", rtfText

---------------------------------------------------------------------
VB读取文本文件的例子:逐行读取

Private Sub Form_Load()
Dim data As String
Dim buffer As String
Open "d:\stud.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, buffer
data = data + buffer
Loop
Close #1
Text1.Text = buffer
End Sub


'清空dataa文件中的所有文本
Open "data\dataa.txt" For Output As #1
Close #1

[此贴子已经被作者于2008-1-23 13:25:03编辑过]
回复

使用道具 举报

 楼主| 发表于 2008-1-23 13:26 | 显示全部楼层

VB小技巧-------之调用注册表文件

命令:

       shell    "regedit    filepath"

不弹出对话框的命令:

      Shell    "regedit.exe    /s    "    &    """"    &    filepath

说明1)shell函数

执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。

语法

Shell(pathname[,windowstyle])

Shell 函数的语法含有下面这些命名参数:

部分 描述
pathname 必要参数。Variant (String),要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。
Windowstyle 可选参数。Variant (Integer),表示在程序运行时窗口的样式。如果 windowstyle 省略,则程序是以具有焦点的最小化窗口来执行的。


windowstyle 命名参数有以下这些值:

常量 值 描述
vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。
VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。
VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。
VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。
VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。
VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。


如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误。

注意 缺省情况下,Shell 函数是以异步方式来执行其它程序的。也就是说,用 Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。

Shell 函数示例
本示例使用 Shell 函数来完成一个用户指定的应用程序。

' 将第二个参数值设成 1,可让该程序以正常大小的窗口完成,并且拥有焦点。
Dim RetVal
RetVal = Shell("C:\WINDOWS\CALC.EXE", 1) ' 完成Calculator。

说明2)

filepath为注册表文件的路径。

有一点很重要,在调用注册表文件时,路径中不能含有空格,否则会有错误。

回复

使用道具 举报

 楼主| 发表于 2008-1-23 13:27 | 显示全部楼层

VBA中操作Excel 工作表的技巧一

1、VBA中使用Excel 工作表函数

在 Visual Basic 语句中可以使用大多数 Microsoft Excel 工作表函数。若要查看可以使用的工作表函数列表,请参阅 Visual Basic 可使用的工作表函数列表。

注意 一些工作表函数在 Visual Basic 中是不实用的。例如:Concatenate 函数就不实用,因为在 Visual Basic 中可使用 & 运算符来连接多个文本值。

从 Visual Basic 中调用工作表函数
在 Visual Basic 中,通过 WorksheetFunction 对象可使用 Microsoft Excel 工作表函数。

以下 Sub 过程使用 Min 工作表函数来决定在某个单元格区域中的最小值。首先,将变量 myRange 声明为 Range 对象,然后将其设置为 Sheet1 上的 A1:C10 单元格区域。指定另一个变量 answer 为对 myRange 应用 Min 函数的结果。最后,answer 的值就被显示在消息框中。

Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub
如果您使用的工作表函数需要一个单元格区域引用作为参数,则必须指定一个 Range 对象。例如:您可以用 Match 工作表函数搜索单元格区域。可以在工作表单元格中输入公式,如“=MATCH(9,A1:A10,0)”。但是,您应在 Visual Basic 过程中指定一个 Range 对象来获取相同的结果。

Sub FindFirst()
myVar = Application.WorksheetFunction _
.Match(9, Worksheets(1).Range("A1:A10"), 0)
MsgBox myVar
End Sub
注意 Visual Basic 函数不使用 WorksheetFunction 识别符。函数可能和 Microsoft Excel 的函数同名但作用各异。例如:Application.WorksheetFunction.Log 和 Log 将返回不同的值。

在单元格中插入工作表函数
若要在单元格中插入工作表函数,请指定函数作为相应的 Range 对象的 Formula 属性值。以下示例中,将 RAND 工作表函数(可生成随机数)赋给了活动工作簿中 Sheet1 上 A1:B3 单元格区域的 Formula 属性。

Sub InsertFormula()
Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"
End Sub

2、对数据透视表、单元格区域或活动区域(如果指定区域仅包含一个单元格)进行排序。

expression.Sort(Key1,    Order1,    Key2,    Type,    Order2,    Key3,    Order3,    Header,    OrderCustom,    MatchCase,    Orientation,    SortMethod,    DataOption1,    DataOption2,    DataOption3)   
    
   expression        必需。该表达式返回“应用于”列表中的对象之一。   
    
   Key1        Variant    类型,可选。第一个排序字段,可为文本(数据透视表字段或区域名)或者为    Range    对象    (例如,“Dept”或    Cells(1,    1))。   
    
   Order1        XlSortOrder    类型,可选。在    Key1    中指定的字段或区域的排序顺序。   
    
   XlSortOrder    可为以下    XlSortOrder    常量之一。     
   xlDescending    对    Key1    按降序排序。     
   xlAscending    默认值。对    Key1    按升序排序。     
    
   Key2        Variant    类型,可选。第二个排序字段,可为文本(数据透视表字段或区域名)或者为    Range    对象。如果省略本参数,则没有第二个排序字段。对数据透视表进行排序时,不能使用本参数。   
    
   Type        Variant    类型,可选。指定要排序的元素。仅在对数据透视表排序时才使用本参数。   
    
   XlSortType    可为以下    XlSortType    常量之一。     
   xlSortLabels    按标签对数据透视表排序。     
   xlSortValues    按值对数据透视表排序。     
    
   Order2        XlSortOrder    类型,可选。在    Key2    中指定的字段或区域的排序顺序。对数据透视表进行排序时,不能使用本参数。   
    
   XlSortOrder    可为以下    XlSortOrder    常量之一。     
   xlDescending    对    Key2    按降序排序。     
   xlAscending    默认值。对    Key2    按升序排序。     
    
   Key3        Variant    类型,可选。第三个排序字段,为文本(区域名)或者为    Range    对象。如果省略本参数,则没有第三个排序字段。对数据透视表进行排序时,不能使用本参数。   
    
   Order3        XlSortOrder    类型,可选。在    Key3    中指定的字段或区域的排序顺序。对数据透视表进行排序时,不能使用本参数。   
    
   XlSortOrder    可为以下    XlSortOrder    常量之一。     
   xlDescending    对    Key3    按降序排序。     
   xlAscending    默认值。对    Key3    按升序排序。     
    
   Header        XlYesNoGuess    类型,可选。指定第一行是否包含标题。对数据透视表进行排序时,不能使用本参数。   
    
   XlYesNoGuess    可为以下    XlYesNoGuess    常量之一。     
   xlGuess    由    Microsoft    Excel    确定是否有标题,如果有,确定标题位于何处。     
   xlContinuous    默认值。(应对整个区域进行排序)。     
   xlYes    (不应对整个区域进行排序)。     
    
   OrderCustom        Variant    类型,可选。本参数是从    1    开始的整数,指定了在自定义排序顺序列表中的索引号。如果省略    OrderCustom    参数,则使用常规排序。   
    
   MatchCase        Variant    类型,可选。如果为    True,则进行区分大小写的排序;如果为    False,则排序时不区分大小写。对数据透视表进行排序时,不能使用本参数。   
    
   Orientation        XlSortOrientation    类型,可选。排序方向。   
    
   XlSortOrientation    可为以下    XlSortOrientation    常量之一。     
   xlSortRows    默认值。按行排序。     
   xlSortColumns    按列排序。     
    
   SortMethod        XlSortMethod    类型,可选。排序类型。对于所选择或安装的不同语言支持(例如:美国英语),以上某些常量可能不可用。   
    
   XlSortMethod    可为以下    XlSortMethod    常量之一。     
   xlStroke    按每个字符的笔划数量排序。     
   xlPinYin    默认值。按字符的汉语拼音顺序排序。     
    
   DataOption1        XlSortDataOption    类型,可选。指定如何对    key    1    中的文本进行排序。对数据透视表进行排序时,不能使用本参数。   
    
   XlSortDataOption    可为以下    XlSortDataOption    常量之一。     
   xlSortTextAsNumbers    将文本作为数字型数据排序。     
   xlSortNormal    默认值。分别对数字和文本数据进行排序。     
    
   DataOption2        XlSortDataOption    类型,可选。指定如何对    key    2    中的文本进行排序。对数据透视表进行排序时,不能使用本参数。   
    
   XlSortDataOption    可为以下    XlSortDataOption    常量之一。     
   xlSortTextAsNumbers    将文本作为数字型数据排序。     
   xlSortNormal    默认值。分别对数字和文本数据进行排序。     
    
   DataOption3        XlSortDataOption    类型,可选。指定如何对    key    3    中的文本进行排序。对数据透视表进行排序时,不能使用本参数。   
    
   XlSortDataOption    可为以下    XlSortDataOption    常量之一。     
   xlSortTextAsNumbers    将文本作为数字型数据排序。     
   xlSortNormal    默认值。分别对数字和文本数据进行排序。     
    
   说明   
   对于特定的工作表,每次使用本方法时,将保存对    Header、Order1、Order2、Order3、OrderCustom    和    Orientation    的设置。如果在下次调用本方法时不指定这些参数的值,则会使用这些保存的值。如果不使用这些保存的值,在每次使用    Sort    方法时请明确设置这些参数的值。   
    
   不能转换为数字型数据的文本字符串按常规排序。   
    
   注意        如果使用    Sort    方法时没有定义参数,则    Microsoft    Excel    会对所选定的要排序的区域按升序排序。   
    
   示例   
   本示例对工作表    Sheet1    上的单元格区域    A1:C20    进行排序,用单元格    A1    作为第一排序关键字,用单元格    B1    作为第二排序关键字。排序是按行以升序进行的,没有标题。本示例假定单元格区域    A1:C20    有数据存在。   
    
   Sub    SortRange1()   
    
           Worksheets("Sheet1").Range("A1:C20").Sort    _   
                   Key1:=Worksheets("Sheet1").Range("A1"),    _   
                   Key2:=Worksheets("Sheet1").Range("B1")   
    
   End    Sub   
   本示例对工作表    Sheet1    上包含单元格    A1    的区域(活动区域)进行排序,按第一列中的数据进行排序,并且自动使用标题行(如果存在)。本示例假定活动区域(包含单元格    A1)中有数据存在。Sort    方法将自动确定活动区域。   
    
   Sub    SortRange2()   
    
           Worksheets("Sheet1").Range("A1").Sort    _   
                   Key1:=Worksheets("Sheet1").Columns("A"),    _   
                   Header:=xlGuess   
    
   End    Sub   
   VC中操作应与此相同

3、循环工作表

   集合对象都有一个Count属性   
   下例显示当前工作簿中的所有工作表的名称:   
       For    i    =    1    To    Sheets.Count   
           Print    Sheets(i).Name   
       Next   


4、获得工作表实际使用了的行数和列数

   Sheet1.UsedRange.Rows.Count   

   Sheet1.UsedRange.Columns.Count   

5、使用excel中的rank函数

假如A列从A1单元格起,依次有数据80、98、65、79、65。
在B1中编辑公式
=RANK(A1,$A$1:$A$5,0)
回车确认后,向下复制公式到B5单元格。

效果:
从B1单元格起依次返回值为2、1、4、3、4。

注意:
公式中的参数0(零)或省略,Excel 对数字的排位是把数据从大到小的降序排列,也就是说数值最大的排名第1。

再试试看:

在C1中编辑公式
=RANK(A1,$A$1:$A$5,1)
回车确认后,向下复制公式到B5单元格。

此时从C1单元格起依次返回的值是4、5、1、3、1。
也就是说,此时A列中数据是按从小到大排列名次的,最小的数值排位第1,最大的数值排位最末。

6、复制单元格的数据

.复制每个单元格中的数据,用Range().value=Rangr().Value   

回复

使用道具 举报

 楼主| 发表于 2008-1-23 13:28 | 显示全部楼层

VB 循环目录和文件、复制文件

1、返回指定文件夹的所有文件夹列表

'模     块     名:GetFolderList   
    '功           能:返回指定文件夹的所有文件夹列表   
    '返     回     值:成功/失败:True/False   
    '参           数:GetFolderList(指定文件夹路径,     文件夹数组)   
    '引           用:无   
    '外部函数:无   
    '内部变量:[SearchDir=路径][FoundDir=文件夹名][i=用于循环]   
    '调用方法:   
    '++++++++++++++++++++++++++++++++++++   
    '         Dim     FolderName()     As     String,     i     As     Long   
    '         GetFolderList     "C:\",     FolderName   
    '         For     i     =     LBound(FolderName)     To     UBound(FolderName)   
    '                 Debug.Print     FolderName(i)   
    '         Next     i   
    '++++++++++++++++++++++++++++++++++++   
    Public     Function     GetFolderList(ByVal     Path     As     String,     ByRef     FolderName()     As     String)     As     Boolean   
            Dim     SearchDir     As     String   
            Dim     FoundDir     As     String   
            Dim     i     As     Long   
            If     right(Path,     1)     <>     "\"     Then     Path     =     Path     &     "\"   
            SearchDir     =     Path     &     "*."   
            FoundDir     =     Dir(SearchDir,     vbDirectory)   
            While     FoundDir     <>     ""   
                    If     Not     FoundDir     =     "."     Or     FoundDir     =     ".."     Then   
                            ReDim     Preserve     FolderName(i)     As     String   
                            FolderName(i)     =     FoundDir   
                    End     If   
                    FoundDir     =     Dir()   
                    i     =     i     +     1   
            Wend   
    End     Function   
    
2、返回指定文件夹的所有文件名列表   


    '模     块     名:GetFileList   
    '功           能:返回指定文件夹的所有文件名列表   
    '返     回     值:成功/失败:True/False   
    '参           数:GetFileList(指定文件夹路径,     文件数组,返回的文件类型)   
    '引           用:无   
    '外部函数:无   
    '内部变量:[fName=文件名][i=用于循环]   
    '调用方法:   
    '++++++++++++++++++++++++++++++++++++   
    '         Dim     FileName()     As     String,     i     As     Long   
    '         GetFileList     "c:\",     FileName   
    '         For     i     =     0     To     UBound(FileName)   
    '                 Debug.Print     FileName(i)   
    '         Next     i   
    '++++++++++++++++++++++++++++++++++++   
    Function     GetFileList(ByVal     Path     As     String,     ByRef     Filename()     As     String,     Optional     fExp     As     String     =     "*.*")     As     Boolean   
            Dim     fName     As     String,     i     As     Long   
            If     right$(Path,     1)     <>     "\"     Then     Path     =     Path     &     "\"   
            fName     =     Dir$(Path     &     fExp)   
            i     =     0   
            Do     While     fName     <>     ""   
                    ReDim     Preserve     Filename(i)     As     String   
                    Filename(i)     =     fName   
                    fName     =     Dir$   
                    i     =     i     +     1   
            Loop   
            If     i     <>     0     Then   
                    ReDim     Preserve     Filename(i     -     1)     As     String   
                    GetFileList     =     True   
            Else   
                    GetFileList     =     False   
            End     If   
    End     Function   

3、文件复制

FileCopy 语句


复制一个文件。

语法

FileCopy source, destination

FileCopy 语句的语法含有以下这些命名参数:

部分 描述
source 必要参数。字符串表达式,用来表示要被复制的文件名。source 可以包含目录或文件夹、以及驱动器。
destination 必要参数。字符串表达式,用来指定要复制的目地文件名。destination 可以包含目录或文件夹、以及驱动器。


说明

如果想要对一个已打开的文件使用 FileCopy 语句,则会产生错误。

FileCopy 语句示例
本示例使用 FileCopy 语句来复制文件。示例中假设 SRCFILE 为含有数据的文件。

Dim SourceFile, DestinationFile
SourceFile = "SRCFILE" ' 指定源文件名。
DestinationFile = "DESTFILE" ' 指定目的文件名。
FileCopy SourceFile, DestinationFile

回复

使用道具 举报

 楼主| 发表于 2008-1-23 13:29 | 显示全部楼层

EXCEL中菜单栏隐藏的实现

当试图删除office系统的菜单栏(Menu Bar)时,会收到一条错误信息,而使用visible=false的方法,亦只能在代码执行时隐藏,为实现长久隐藏,参考microsoft文档得出以下代码

Sub Hide()
     Application.CommandBars("Worksheet Menu Bar").Position = msoBarFloating
     Application.CommandBars("Worksheet Menu Bar").Left = -Application.CommandBars("Worksheet Menu Bar").Width + 1
     Application.CommandBars("Worksheet Menu Bar").Top = -Application.CommandBars("Worksheet Menu Bar").Height + 1
End Sub

Sub Show()
     Application.CommandBars("Worksheet Menu Bar").Position = msoBarTop
End Sub

注解:将Menu Bar停靠方式改为浮动,修改其位置在屏幕之外;显示再改为顶停靠.

    Excel中Menu Bar为Worksheet Menu Bar,其他office文档中仍为Menu Bar.

回复

使用道具 举报

发表于 2008-1-23 13:49 | 显示全部楼层

非常感谢程老师!!!下载收藏学习了![em23][em23][em23]
回复

使用道具 举报

发表于 2008-1-23 14:16 | 显示全部楼层

谢谢程兄,学习并收藏了。
回复

使用道具 举报

发表于 2008-1-23 14:19 | 显示全部楼层

谢谢楼主&nbsp;&nbsp; 收藏学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 14:31 , Processed in 0.244958 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表