VBA打开文件:如何打开和操作文件
VBA或Visual Basic for Applications与Visual Basic密切相关。此应用程序对于向Microsoft Office套件添加功能是有用的。VBA易于使用,尤其是在Microsoft Excel中自动化的例行任务。程序员广泛使用它来创建高效且优雅的宏。MS Excel有一个内置的Visual Basic编辑器,您可以在其中编写和测试VBA代码。Excel VBA可以打开现有工作表并在它们上运行宏。文件是任何计算机系统的重要组成部分。它可能因将简单的文本文件而异到可执行文件。大多数编程语言具有用于处理和操作文件的内置功能。今天,在这个中级教程中,我们向您介绍VBA文件打开功能。 We assume that you are familiar with MS Excel, VBA and concepts of file manipulation.如果您想首先学习基础知识,我们强烈推荐在Excel VBA上的此介绍课程。
什么是文件?
计算机文件是特定数据。它有一个标识文件的名称。该文件具有扩展名称,其告诉操作系统和关联的程序它是哪种类型的文件。请注意,每个文件都有一个包含大小零的大小。每个文件都有一个位置在计算机系统中并被索引。可以创建或删除计算机文件,移动或复制或更改。每个文件都包含确定其使用的属性。这些属性包括要查看,打开,读取,更改文件和其他权限的权限。
类型的文件
操作系统将文件识别为常规,目录或特殊。这些基本类型的文件存在许多变体。
- 常规文件- 这些是最常见的文件,用于存储数据。它们有两种类型,即文本或二进制文件。文本文件包含以ASCII格式存储的信息,该信息可由用户读取。二进制文件包含计算机可读的信息。
- 目录文件- 这些文件包含系统所需的信息来访问所有类型的文件。
- 特殊文件—特殊文件是各种进程创建的临时文件。它们有三种类型,即先进先出、块和字符。最后两种文件类型定义设备。
注意,每个文件都有一组文件特权,这些特权决定了谁可以读取、修改或执行文件。
什么是vba打开文件
Open语句使用户能够打开文件。此语句的语法是:
打开路径名模式[Access Access] [lock]
让我们仔细看看打开文件参数
- pathname.-该字段是必需的。它指定一个包含其目录和驱动器的文件名。
- 模式—该字段也是必填项。模式可以是追加,二进制,输出,输入或随机。默认模式为随机模式。
- 使用权-可选参数。它指定在打开的文件上允许的操作。可以是read、write或read - write。
- 锁,这是一个可选的参数。它指定共享,锁定读取,锁定写入和锁定写入的操作,这些操作受到限制在打开文件上。
注意,我们在这里给出的所有示例中都使用了虚拟文件位置。我们建议您提供您计算机上的实际文件位置。
示例1:打开MS Excel中的现有文件的程序
子openworksheet()工作簿。打开文件名:= _ "C:\Desktop/Emp_details.xlsx
这个宏是在Visual Basic编辑器中编写的。为了打开文件,文件的位置地址是给定的。在编写代码时,给出Excel文件的完整文件位置。例如,如果你的文件存储在我的文档中,请将文件地址设置为“C:\MyDocuments/Emp_details.xlsx”
要了解更多关于VBA文件函数的知识,我们建议你去学习本课程的VBA宏。
示例2:程序打开和操作一个CSV文件
请注意,CSV文件有三个字段,这些字段用逗号分隔。
sub opentfile()dim file_path作为字符串file_path =“c:\ users \ john \ employee.csv”打开file_path for investas#1 row_num = 0,直到eof(1)行输入#1,line_fromfile line_items = split(line_fromfile,“,”)activeCell.offset(row_num,0).value = line_items(2)activeCell.offset(row_num,1).value = line_items(1)activeCell.offset(row_num,2).value = line_items(0)row_num = row_num + 1循环关闭#1结束子
在这个程序中,模式是用来读取文件的输入模式。FileNumber为1。在“Line Input #1, Line_FromFile”中,逗号前的前3个元素指的是文件中的一行输入。在逗号之后,告诉VBA将该行放入变量Line_FromFile中。在每次循环迭代中,将从文本文件中获取一个新行,并将其放在这个变量中。由于该行中有逗号,您需要解析它。通过使用Split函数,可以将一行中的每一项放入名为Line_Items的数组中。文本文件每行有三个项目。这个数组从0到2个位置。
然后我们将每个项目放入电子表格上的单元格中。在每个循环迭代中,递增row_num变量。循环达到文件结束时终止。最后,我们关闭文件。如果您错过了关闭文件,则在僵尸状态下,文件句柄和分配给文件的内存空间保持锁定。这意味着内存不能稍后再次重复使用。因此,重要的是您必须关闭所有未使用的文件以避免内存不足。
要了解更多关于MS Excel VBA程序的信息,请跳到这一优秀的课程,为例子教。
示例3:打开Access中的Excel工作表的程序
Sub openWorkbook() Dim ABC_App As Excel。应用昏暗XYZ_Book作为Excel。Workbook Set XYZ_Book = Workbooks.Open("C:\employee_details.xlsx")父ABC_App。Visible = True结束Sub
在这个程序中,声明了变量ABC_App和XYZ_Book。它们用于访问Excel对象。应用程序和Excel。工作簿。要打开Excel工作簿,请提供路径和电子表格名称。最后,通过将电子表格的可见属性设置为“True”来显示它。Excel先生在VBA宏的课程中有一些良好的提示你可能会想抬头看看。
在下一个示例中,我们看一下如何打开PDF文件并使用VBA函数打印它。
示例4:打开和打印PDF文件的程序
Sub OpenPDF() Dim PDF_File As String PDF_File = \"C:\\employee.pdf\" If Not filellocked (PDF_File) Then Documents. "开放PDF_File)结束,如果结束子子PrintPDF (PDF_File字符串)暗PDF_Reader作为字符串PDF_Reader = \“C: \ \程序文件\ \ Adobe读者\ \ \ \ 6.0 \ \ Acrobat AcroRd32.exe \“RetVal =壳(PDF_Reader & \ " / P \ " &科(34)& PDF_File &科(34),0)结束子子CommandButton_Click()调用OpenPDF PrintPDF结束子打电话
给出您想要打开的PDF文件的整个路径和文件名。检查文件是否已经打开。如果没有,那么继续打开PDF文件。在打印文件的代码中,为计算机上的adobereader、Acrobat或任何PDF阅读器提供完整路径。最后打开PDF文档并在单击按钮时打印。记得在打印之前打开PDF文件。
处理文件是创建有用应用程序的重要组成部分。VBA为我们提供处理和操作文件的工具。编写自己的代码,以便您掌握处理文件的艺术。我们希望本教程帮助您了解如何处理文件。一旦你准备进入下一个级别,尝试这个终极VBA课程进一步采取东西。