libreoffice basic标准库

文章详细介绍了LibreOfficeBasic中的类型转换,包括隐式和显式转换,以及转换函数如CStr、CInt等。此外,还讨论了字符串操作,如字符转换、子串截取、长度获取,以及搜索和替换功能。同时,文章涵盖了日期时间处理,如DateSerial、TimeSerial函数,以及日期和时间的提取。最后,提到了文件和目录的管理,如Dir函数、文件属性的检查和修改。
摘要由CSDN通过智能技术生成

一、转换函数

在很多情况下,必须做类型转换

(一)隐式转换

最简便的方法是使用赋值。

Dim A As String
Dim B As Integer

B = 101
A = B

在此示例中,A是字符串,B是一个整数。libreOffice Basic可确保在给A赋值时,将B转换为字符串。这种转换看似简单,其实非常复杂:B以双字节长整型数字形式保留在工作内存中。另一方面,A是一个字符串,计算机为每个字符(每个数字)保存一个单字节或双字节长整型值。因此,在将B中的内容复制到A之前,必须将B转换为A的内部格式。

与大多数其他编程语言不同,Basic自动执行类型转换。不过,这可能会带来致命的后果。经过仔细检查,以下代码序列

Dim A As String
Dim B As Integer
Dim C As Integer

B = 1
C = 1
A = B + C

乍看上去非常简单,但最终却发现其中暗藏陷阱。Basic解释器先计算加法过程的结果,然后将该结果转换为字符串,从而生成字符串2。

另一方面,如果Basic解释器先将起始值 B 和 C 转换为字符串,并将加法运算符应用于该结果,则会生成字符串 11。

这也适用于使用变体变量的情况:

Dim A
Dim B
Dim C

B = 1
C = "1"
A = B + C

由于变体变量可以包含数字和字符串,因此,不能确定是将数字2还是字符串11赋给变量 A。

要避免因隐式类型转换而导致的错误来源,必须以一种严谨的方式编写程序;例如,不使用变体数据类型。

(二)显式转换

为避免隐式类型转换产生的其他错误,libreOffice Basic提供了一系列转换函数,可使用这些函数定义何时应转换运算的数据类型:

CStr(Var)

将任何数据类型转换为字符串。

CInt(Var)

将任何数据类型转换为整数值。

CLng(Var)

将任何数据类型转换为长整型值。

CSng(Var)

将任何数据类型转换为单精度值。

CDbl(Var)

将任何数据类型转换为双精度值。

CBool(Var)

将任何数据类型转换为布尔值。

CDate(Var)

将任何数据类型转换为日期值。

可以使用这些转换函数定义libreOffice Basic应如何执行这些类型转换操作:

Dim A As String
Dim B As Integer
Dim C As Integer

B = 1
C = 1
A = CStr(B + C) ' B and C are added together first, then converted to the string "2"
A = CStr(B) + CStr(C) ' B and C are converted into a string,then combined to produce the string "11"

在该示例中的第一个加法运算中,libreOffice Basic先将整型变量相加,然后将结果转换为字符串。将为 A 赋值字符串 2。在第二个实例中,先将整型变量转换为两个字符串,然后通过赋值将其彼此链接在一起。因此,将为 A 赋值字符串 11。

CSng 和 CDbl 数值转换函数也接受小数。必须使用相应的特定于国家/地区的设置中定义的符号作为小数点符号。相反,在设置数字、日期和时间详细信息的格式时,CStr 方法使用当前选定的特定于国家/地区的设置。

Val 函数不同于 Csng、Cdbl 和 Cstr 方法。它将字符串转换为数字;不过,它始终要求将句点用作小数点符号。

Dim A As String
Dim B As Double

A = "2.22"
B = Val(A) ' Is converted correctly regardless of the country-specific settings

(三)检查变量类型

在某些情况下,无法转换日期:

Dim A As String
Dim B As Date

A = "test"
B = A ' Creates error message

在示例中,将 test 字符串赋给日期变量没有任何意义,因此,Basic解释器将会报告错误。这也适用于尝试将字符串赋给布尔变量的情况:

Dim A As String
Dim B As Boolean

A = "test"
B = A ' Creates error message

Basic解释器同样会报告错误。

在赋值之前,通过检查程序以确定要赋值的变量内容与目标变量类型是否匹配,可以避免出现这些错误消息。鉴于此目的,libreOffice Basic提供了以下测试函数:

IsNumeric(Value)

检查值是否为数字。

IsDate(Value)

检查值是否为日期。

IsArray(Value)

检查值是否为数组。

在查询用户输入时,这些函数尤其有用。例如,可以检查用户键入的数字或日期是否有效。

If IsNumeric(UserInput) Then
     ValidInput = UserInput
Else
     ValidInput = 0
     MsgBox "Error message."
End If

在上一示例中,如果 UserInput 变量包含有效的数字值,则将其赋给 ValidInput 变量。如果 UserInput 不包含有效数字,则将值 0 赋给 ValidInput 并返回错误消息。

虽然libreOffice Basic中提供了用于检查数字、日期详细信息和数组的测试函数,但未提供用于检查布尔值的相应函数。不过,可以使用 IsBoolean 函数模拟此功能:

Function IsBoolean(Value As Variant) As Boolean
    On Error Goto ErrorIsBoolean:

    Dim Dummy As Boolean

    Dummy = Value
    IsBoolean = True

    On Error Goto 0
    Exit Sub


    ErrorIsBoolean:
    IsBoolean = False

    On Error Goto 0
End Function

IsBoolean 函数定义了一个内部布尔型 Dummy 帮助变量,并尝试将传送的值赋给该变量。如果赋值成功,该函数将返回 True。如果失败,则会产生运行时错误,从而终止测试函数以返回错误。

如果libreOffice Basic中的字符串包含非数字值,并且将其赋给某个数字,则libreOffice Basic将不生成错误消息,但会在第一个无效字符处停止转换字符串。此过程与VBA不同。在VBA中,如果执行相应的赋值,则会引发错误并终止程序实现。

二、字符串函数

(一)字符转换

在管理字符串时,libreOffice Basic使用Unicode字符集。

Asc获得字符的Unicode码:

Code = Asc("A") ' Latin letter A (Unicode-value 65)
Code = Asc("€") ' Euro character (Unicode-value 8364)
Code = Asc("Л") ' Cyrillic letterЛ (Unicode-value 1083)

chr将unicode码转换成字符

MyString = Chr(13)

确保使用数字值 13(表示硬换行符)初始化 MyString 字符串。

Basic语言经常使用 Chr 命令在字符串中插入控制字符。因此,赋值语句

MyString = Chr(9) + "This is a test" + Chr(13)

确保在文本前面添加制表符(Unicode值9),并在文本后面添加硬换行符(Unicode值13)。

(二)截取子串

Left(MyString, Length)

返回 MyString 的前Length个字符。

Right(MyString, Length)

返回 MyString 的最后Length个字符。

Mid(MyString, Start, Length)

从 Start 位置开始返回 MyString 的前Length个字符。

下面是调用这些函数的几个示例:

Dim MyString As String
Dim MyResult As String
Dim MyLen As Integer

MyString = "This is a small test"
MyResult = Left(MyString,5) ' Provides the string "This "
MyResult = Right(MyString, 5) ' Provides the string " test"
MyResult = Mid(MyString, 8, 5) ' Provides the string " a sm"

(三)获得长度

Len(MyString)

返回 MyString 中的字符数目。

MyLen = Len(MyString) ' Provides the value 21

(四)搜索和替换

InStr 函数用于在一个字符串中搜索子字符串:

ResultString = InStr (MyString, SearchString)

SearchString参数指定要在MyString中搜索的字符串。该函数返回一个数字,是SearchString在MyString中首次出现的位置。

还可以指定搜索的起始位置。在这种情况下,该函数的语法为:

ResultString = InStr(StartPosition, MyString, SearchString)

在前面的示例中,InStr 忽略字符的大小写。要使 InStr 区分大小写,请添加参数 0,如以下示例中所示:

ResultString = InStr(MyString, SearchString, 0)

可以在一个字符串中搜索并替换子字符串:

Function Replace(Source As String, Search As String, NewPart As String) 
Result = ""
StartPos = 1
CurrentPos = 1

If Search = "" Then
     Result = Source
Else
     Do While CurrentPos <> 0
         CurrentPos = InStr(StartPos, Source, Search)
         If CurrentPos <> 0 Then
             Result = Result + Mid(Source, StartPos, CurrentPos - StartPos)
             Result = Result + NewPart
             StartPos = CurrentPos + Len(Search)
         Else
             Result = Result + Mid(Source, StartPos, Len(Source))
         End If ' Position <> 0
     Loop
End If

Replace = Result
End Function

以循环方式在Source中搜索Search字符串。如果找到,则提取表达式前面的部分,并将其写入Result,再添加NewPart。如果找不到,将剩余的字符串,添加到result。最后返回result。

由于替换部分字符序列是常用的功能,因此,已扩展了Mid函数,以便自动执行此任务。以下示例将用字符串is替换MyString字符串中从第六个位置开始的三个字符。 

MyString = "This was my text"
Mid(MyString, 6, 3, "is")

(五)设置字符串格式

Format 函数为数字设置格式。为此,该函数需要指定一个格式字符串,然后将该字符串用作设置数字格式的模板。模板中的每个占位符可确保在输出值中相应地设置该项的格式。

模板中的五个最重要的占位符是零 (0)、井号 (#)、小数点号 (.)、逗号 (,) 和美元符号 ($) 字符。

0表示始终在相应位置放置数字。如果没有提供数字,则会显示0。

.表示由操作系统定义的小数点符号。

下面的示例说明了0和.的用法:

MyFormat = "0.00"
MyString = Format(-1579.8, MyFormat) ' Provides "-1579,80"
MyString = Format(1579.8, MyFormat) ' Provides "1579,80"
MyString = Format(0.4, MyFormat) ' Provides "0,40"
MyString = Format(0.434, MyFormat) ' Provides "0,43"

同样,可以在数字前面添加零以达到所需的长度:

MyFormat = "0000.00"
MyString = Format(-1579.8, MyFormat) ' Provides "-1579,80"
MyString = Format(1579.8, MyFormat) ' Provides "1579,80"
MyString = Format(0.4, MyFormat) ' Provides "0000,40"
MyString = Format(0.434, MyFormat) ' Provides "0000,43"

,表示操作系统使用的千位分隔符

#表示位置,仅当此位置有数字时才会显示。

MyFormat = "#,##0.00"
MyString = Format(-1579.8, MyFormat) ' Provides "-1.579,80"
MyString = Format(1579.8, MyFormat) ' Provides "1.579,80"
MyString = Format(0.4, MyFormat) ' Provides "0,40"
MyString = Format(0.434, MyFormat) ' Provides "0,43"

$表示货币符号

MyFormat = "#,##0.00 $"
MyString = Format(-1579.8, MyFormat) ' Provides "-1.579,80€"
MyString = Format(1579.8, MyFormat) ' Provides "1.579,80€"
MyString = Format(0.4, MyFormat) ' Provides "0,40€"
MyString = Format(0.434, MyFormat) ' Provides "0,43€"

也可以使用VBA中用于设置日期和时间详细信息格式的Format指令:

sub main
    dim myDate as date
    myDate = "01/06/98"
    TestStr = Format(myDate, "mm-dd-yyyy") ' 01-06-1998
    MsgBox TestStr
end sub

三、日期时间函数

Date 数据类型,该类型以二进制格式保存日期和时间

(一)给日期和时间赋值

可以通过简单字符串将日期赋给变量:

Dim MyDate As Date
MyDate = "24.1.2002"

此赋值可以正常工作,因为libreOffice Basic自动将定义为字符串转换为日期。不过,这种类型的赋值会导致出现错误,因为不同国家/地区日期和时间格式不同。

由于将字符串转换为日期时使用国家/地区设置,因此,只有在国家/地区设置与字符串匹配时,上述表达式才能正常工作。

要避免出现此问题,应使用 DateSerial函数将固定值赋给日期变量:

MyDate = DateSerial (2001, 1, 24)

函数参数的顺序必须为:年、月、日。该函数确保实际将正确的值赋给变量,而与特定于国家/地区的设置无关。

TimeSerial 函数设置时间的方式与 DateSerial 函数设置日期的方式相同:

MyDate = TimeSerial(11, 23, 45)

应按以下顺序指定其参数:小时、分钟、秒。

(二)提取日期和时间

以下函数与 DateSerial 和 TimeSerial 函数相对应:

Day(MyDate)

从 MyDate 中返回是当月的第几天。

Month(MyDate)

从 MyDate 中返回月份。

Year(MyDate)

从 MyDate 中返回年份。

Weekday(MyDate)

从 MyDate 中返回是星期几。

Hour(MyTime)

从 MyTime 中返回小时数。

Minute(MyTime)

从 MyTime 中返回分钟数。

Second(MyTime)

从 MyTime 中返回秒数。

这些函数从指定的 Date 变量中提取日期或时间部分。以下示例检查 MyDate 中保存的日期是否为2003年。

Dim MyDate As Date

' ... Initialization of MyDate
If Year(MyDate) = 2003 Then
     ' ... Specified date is in the year 2003
End If

同样,以下示例检查 MyTime 是否介于12和14小时之间。

Dim MyTime As Date

' ... Initialization of MyTime
If Hour(MyTime) >= 12 And Hour(MyTime) < 14 Then
     ' ... Specified time is between 12 and 14 hours
End If

Weekday 函数返回传送的日期是星期几:

Dim MyDate As Date
Dim MyWeekday As String

' ... initialize MyDate
Select Case WeekDay(MyDate)
    case 1
        MyWeekday = "Sunday"
    case 2
        MyWeekday = "Monday"
    case 3
        MyWeekday = "Tuesday"
    case 4
        MyWeekday = "Wednesday"
    case 5
        MyWeekday = "Thursday"
    case 6
        MyWeekday = "Friday"
    case 7
        MyWeekday = "Saturday"
End Select

Sunday被视为每个星期的第一天。

(三)检索系统日期和时间

下列函数查看系统时间和系统日期:

Date

返回当前日期。

Time

返回当前时间。

Now

返回当前时间点(日期和时间的组合值)。

四、文件和目录

在某些情况下,您必须直接访问文件系统、搜索目录或编辑文本文件。

(一)管理文件

1.搜索目录

libreOffice Basic中的 Dir 函数负责从目录中搜索文件和子目录。首次发出请求时,必须将一个字符串作为第一个参数赋值给 Dir,该字符串中包含要搜索的目录的路径。Dir 的第二个参数指定要搜索的文件或目录。libreOffice Basic返回找到的第一个目录条目的名称。要检索下一个条目,应在不使用参数的情况下请求 Dir 函数。如果 Dir 函数未找到其他条目,则会返回空字符串。

以下示例说明了如何使用 Dir 函数请求位于某个目录中的所有文件。该过程将各个文件名保存在 AllFiles 变量中,然后在消息框中显示此变量。

Sub ShowFiles
    Dim NextFile As String
    Dim AllFiles As String

    AllFiles = ""
    NextFile = Dir("C:\", 0)

    While NextFile <> ""
        AllFiles = AllFiles & Chr(13) & NextFile
        NextFile = Dir
    Wend

    MsgBox AllFiles
End Sub

通过将 0 (零)用作 Dir 函数中的第二个参数,可以确保 Dir 仅返回文件名而忽略目录。可以在此处指定以下参数:

  • 0:返回常规文件

  • 16:子目录

以下示例几乎与上一示例完全相同,只是 Dir 函数将值16作为参数传送,该函数返回文件夹的子目录而不是文件名。

Sub ShowDirs

    Dim NextDir As String
    Dim AllDirs As String

    AllDirs = ""
    NextDir = Dir("C:\", 16)

    While NextDir <> ""
        AllDirs = AllDirs & Chr(13) & NextDir
        NextDir <nowiki>= Dir</nowiki>
    Wend

    MsgBox AllDirs
End Sub

在libreOffice Basic中请求时,使用参数16的 Dir 函数仅返回文件夹的子目录。在VBA中,该函数还会返回标准文件的名称,因此,要仅检索目录,还需要进行进一步检查。在使用 CompatibilityMode ( true ) 函数时,libreOffice Basic的操作与VBA类似,使用参数16的Dir函数将返回子目录和标准文件。

VBA提供了专门用于在目录中搜索具有隐藏、系统文件、归档以及卷名属性的文件的选项,libreOffice Basic中未提供这些选项,因为并非所有操作系统上都提供相应的文件系统函数。

Dir 中列出的路径规范可以使用 * 和 ? 占位符,这对VBA和libreOffice Basic同样适用。不过,在libreOffice Basic中,* 占位符只能是文件名和/或文件扩展名的最后一个字符,而在VBA中并非如此。

2.创建和删除目录

libreOffice Basic提供了用于创建目录的 MkDir 函数。

MkDir ("C:\SubDir1")

此函数可以创建目录和子目录。如果需要,还会在分层结构中创建所需的所有目录。例如,如果仅存在 C:\SubDir1 目录,则调用

MkDir ("C:\SubDir1\SubDir2\SubDir3\")

会同时创建 C:\SubDir1\SubDir2 目录和 C:\SubDir1\SubDir2\SubDir3 目录。

RmDir 函数可以删除目录。

RmDir ("C:\SubDir1\SubDir2\SubDir3\")

如果目录中包含子目录或文件,则也会删除这些目录或文件。因此,应谨慎使用 RmDir。

在VBA中,MkDir 和 RmDir 函数仅与当前目录有关;而在libreOffice Basic中,MkDir 和 RmDir 可用于创建或删除多级目录。

在VBA中,如果目录中包含文件,RmDir 将生成错误消息;而在libreOffice Basic中,将删除该目录及其所有文件。如果使用的是 CompatibilityMode ( true ) 函数,则libreOffice Basic的操作与VBA类似。

3.复制、重命名和删除文件以及检查文件是否存在

以下调用将使用名称 Destination 创建 Source 文件的副本:

FileCopy(Source, Destination)

通过使用以下函数,可以将 OldName 文件重命名为 NewName。As 关键字语法以及不使用逗号的做法可追溯到Basic语言的起源。

Name OldName As NewName

以下调用将删除 Filename 文件。如果要删除目录(包括其文件),请使用 RmDir 函数。

Kill(Filename)

FileExists 函数可用于检查文件是否存在:

If FileExists(Filename) Then
    MsgBox "file exists."
End If

4.读取和更改文件属性

在使用文件时,能够确定文件属性、上次更改文件的时间以及文件长度有时非常重要。

以下调用将返回一些有关文件的属性。

Dim Attr As Integer
Attr = GetAttr(Filename)

返回值是作为位掩码提供的,其中可以包含以下值:

  • 1:只读文件

  • 16:目录名称

以下示例可确定 test.txt 文件的位掩码,并检查它是只读文件还是目录。如果都不适用,则将 "normal" 字符串赋值给 FileDescription。

Dim FileMask As Integer
Dim FileDescription As String

FileMask = GetAttr("test.txt")

If (FileMask AND 1) > 0 Then
    FileDescription = FileDescription & " read-only "
End IF

If (FileMask AND 16) > 0 Then
    FileDescription = FileDescription & " directory "
End IF

If FileDescription = "" Then
    FileDescription = " normal "
End IF

MsgBox FileDescription

libreOffice Basic不支持VBA中用于查询隐藏、系统文件、归档和卷名文件属性的标志,因为它们是Windows特有的标志,其他操作系统上不提供这些标志,或者仅提供一部分标志。

SetAttr 函数允许更改文件属性。因此,可以使用以下调用为文件提供只读状态:

SetAttr("test.txt", 1)

可通过以下调用删除现有的只读状态:

SetAttr("test.txt", 0)

FileDateTime 函数提供了上次更改文件的日期和时间。此处,将按照系统上使用的特定于国家/地区的设置来设置日期格式。

FileDateTime("test.txt") ' Provides date and time of the last file amendment.

FileLen 函数以字节为单位确定文件长度(作为长整型值)。

FileLen("test.txt") ' Provides the length of the file in bytes

(二)写入和读取文本文件

libreOffice Basic提供了各种读取和写入文件的方法。以下说明与使用文本文件(不是文本文档)有关。

1.写入文本文件

在访问文本文件之前,必须先打开该文件。为此,需要一个可用文件句柄,该句柄清楚地标识要随后访问的文件。

FreeFile 函数用于创建可用文件句柄。句柄用作 Open 指令的一个参数,该指令可以打开文件。要打开文件以将其指定为文本文件,请使用 Open 调用:

Open Filename For Output As #FileNo

Filename 是一个包含文件名的字符串。FileNo 是 FreeFile 函数创建的句柄。

在打开文件后,可以逐行描述 Print 指令:

Print #FileNo, "This is a test line."

此处的 FileNo 还表示文件句柄。第二个参数指定的文本将保存为文本文件中的一行。

在完成写入过程后,必须使用 Close 调用关闭该文件:

Close #FileNo

此处同样应该指定文件句柄。

以下示例说明了如何打开、描述和关闭文本文件:

Dim FileNo As Integer
Dim CurrentLine As String
Dim Filename As String

Filename = "c:\data.txt" ' Define file name
FileNo = Freefile ' Establish free file handle

Open Filename For Output As #FileNo ' Open file (writing mode)
Print #FileNo, "This is a line of text" ' Save line
Print #FileNo, "This is another line of text" ' Save line
Close #FileNo ' Close file

2.读取文本文件

文本文件的读取方式与其写入方式相同。用于打开文件的 Open 指令包含 For Input 表达式(取代了 For Output 表达式);应使用Line Input指令读取数据,而不是使用Print命令写入数据。

最后,在调用文本文件时,将使用 eof 指令检查是否到达了文件的末尾:

eof(FileNo)

以下示例说明了如何读取文本文件:

Dim FileNo As Integer
Dim CurrentLine As String
Dim File As String
Dim Msg as String

' Define filename
Filename = "c:\data.txt"

' Establish free file handle
FileNo = Freefile

' Open file (reading mode)
Open Filename For Input As FileNo

' Check whether file end has been reached
Do While not eof(FileNo)
    ' Read line
    Line Input #FileNo, CurrentLine
    If CurrentLine <>"" then
        Msg = Msg & CurrentLine & Chr(13)
    end if
Loop

' Close file
Close #FileNo

Msgbox Msg

通过 Do While 循环检索各个行,将这些行保存在 Msg 变量中,最后在消息框中显示这些行。

五、屏幕输入输出

(一)显示信息

MsgBox 显示一个基本信息框,其中可以包含一个或多个按钮。在其最简单的变体中,MsgBox 仅包含文本和“确定”按钮:

MsgBox "This is a piece of information!"

可以使用参数来更改信息框的外观。该参数提供了添加附加按钮、定义预指定按钮以及添加信息符号的选项。用于选择按钮的值如下所示:

  • 0 -“确定”按钮

  • 1 -“确定”和“取消”按钮

  • 2 -“终止”、“重试”和“忽略”按钮

  • 3 -“是”、“否”和“取消”按钮

  • 4 -“是”和“否”按钮

  • 5 -“重试”和“取消”按钮

要将按钮设置为默认按钮,请将以下值之一与按钮选择列表的参数值相加。例如,要创建“是”、“否”和“取消”按钮(值3)并将“取消”按钮作为默认按钮(值512),则参数值为3 + 512 = 515。

  • 0 - 第一个按钮为默认值

  • 256 - 第二个按钮为默认值

  • 512 - 第三个按钮为默认值

最后,可以使用以下信息符号,也可以通过加上相关参数值来显示这些符号:

  • 16 - 停止符号

  • 32 - 问号

  • 48 - 感叹号

  • 64 - 提示图标

以下调用显示一个包含“是”和“否”按钮(值4)的信息框,并将第二个按钮(“否”)设置为默认值(值256),该信息框还包含一个问号(值32),因此参数值为4+256+32=292。

MsgBox "Do you want to continue?", 292

如果信息框中包含多个按钮,则应查询返回值以确定按下了哪个按钮。在这种情况下,可以使用以下返回值:

  • 1 - 确定

  • 2 - 取消

  • 3 - 终止

  • 4 - 重试

  • 5 - 忽略

  • 6 - 是

  • 7 - 否

在上一示例中,可以按如下方式检查返回值:

If MsgBox ("Do you want to continue?", 292) = 6 Then
    ' Yes button pressed
Else
    ' No button pressed
End IF

除了信息文本和用于排列信息框的参数之外,MsgBox 还允许使用第三个参数,该参数用于定义框标题的文本:

MsgBox "Do you want to continue?", 292, "Box Title"

如果未指定框标题,则默认值为 "soffice"。

(二)输入信息

InputBox 函数用于查询用户输入的简单字符串。因此,它是配置对话框的一种简单替代方法。InputBox 接受三个标准参数:

  • 信息文本。

  • 框标题。

  • 可以在输入区域中添加的默认值。

InputVal = InputBox("Please enter value:", "Test", "default value")

InputBox 提供用户键入的字符串以作为返回值。

六、其他函数

Shell

可以使用Shell函数启动外部程序。

Shell(Pathname, Windowstyle, Param)

Pathname 定义要执行的程序的路径。

Windowstyle 定义用于启动程序的窗口。

可以使用以下值:

  • 0 - 程序获得焦点并在隐藏的窗口中启动。

  • 1 - 程序获得焦点并在正常大小的窗口中启动。

  • 2 - 程序获得焦点并在最小化窗口中启动。

  • 3 - 程序获得焦点并在最大化窗口中启动。

  • 4 - 程序在正常大小的窗口中启动,但没有获得焦点。

  • 6 - 程序在最小化窗口中启动,焦点保留在当前窗口中。

  • 10 - 程序在全屏模式下启动。

第三个参数 Param 允许将命令行参数传送到要启动的程序。

Wait

Wait 函数使程序执行终止指定的时间。等待时间是以毫秒为单位指定的。命令

Wait 2000

指定中断2秒(2000毫秒)。

Environ

Environ 函数返回操作系统的环境变量。根据系统和配置情况,此处可以保存各种类型的数据。以下调用可确定操作系统临时目录的环境变量:

Dim TempDir
TempDir=Environ ("TEMP")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值