说明(2018-9-1 11:20:46):

1. 上班三个月了,累的一逼,真的是钱少事多离家远,每天早上六点起,晚上八点回。哎,少壮不努力啊!

2. 三个月没写博客了,上一篇已经是5.29的了,真的是整整三个月了,这期间一点C#的东西都没看,代码也没敲,估计又得重新来一遍了。

3. 公司电脑不能自己装软件,所以只能用VBA编程了,昨天看到同事在写VBA的作业,就要了一份过来准备周末写完,周一去装个逼。回家下载下来之后,眉头一皱,发现事情并不简单!我现在连怎么打开文件都要查查资料!

4. 么得办法啊!重新打开了硬盘里尘封已久的教学视频,因为之前写过一次VBA学习笔记了,这次就叫做二次学习了,希望善始善终吧!

正文:

1. 判断文件是否存在,新建文件,另存为

Sub test3()
'判断文件是否存在,新建文件
Dim wb As Workbook
Dim cPath As String
cPath = ActiveWorkbook.Path If Len(Dir(cPath + "\1.xlsx")) = Then
Set wb = Workbooks.Add
ActiveWorkbook.SaveAs (cPath + "\1.xlsx")
MsgBox ("1.xlsx" + "已创建")
Else
MsgBox ("1.xlsx" + "已存在")
End If End Sub

2. 打开文件,修改内容,保存/关闭

Sub test4()
'打开文件并修改
Dim wb As Workbook
Set wb = Workbooks.Open(ActiveWorkbook.Path + "\1.xlsx")
wb.Sheets("sheet1").Range("a1") = ""
wb.Save
wb.Close '直接关闭多省心
'Windows("1.xlsx").Visible = True'感觉没什么卵用
'Application.Visible = False’不能用这个,所有的工作簿都隐藏了,只剩VBA编辑器
End Sub

3. 判断文件是否已经打开

这里采用的是遍历所有打开的工作簿,另一种方法是直接把这个名字的工作簿赋值给对象,如果报错就说明没打开这个文件(还是有点麻烦)

Sub test5()
Dim flag As Boolean For Each wb In Workbooks
If wb.Name = "1.xlsx" Then
flag = True
Exit For
End If
Next If flag = True Then
MsgBox ("1.xlsx" + "已经打开")
Else
MsgBox ("1.xlsx" + "没有打开")
End If End Sub

4. 复制和删除文件

Sub test6()
Dim path As String
path = ThisWorkbook.path FileCopy path + "\1.xlsx", path + "\2.xlsx"
MsgBox "已复制"
Kill path + "/2.xlsx"
MsgBox "已删除"
End Sub

注意:

(1)ActiveWorkbook是正在操作的工作簿,ThisWorkbook是VBA所在的工作簿

(2)vbCrLf的意思:

  回车 \r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return

  换行 \n 本义是光标往下一行(不一定到下一行行首),n的英文newline,控制字符可以写成LF,即Line Feed

(3)VBA中的方法,参数不用带括号,如果带括号,会报“需要=”的错误。除非是要把方法的返回值赋值给一个变量,才需要加括号。

VBA二次学习笔记(1)——文件操作的更多相关文章

  1. node 学习笔记 - fs 文件操作

    本文同步自我的个人博客:http://www.52cik.com/2015/12/03/learn-node-fs.html 最近看到群里不少大神都开始玩 node 了,我感觉跟他们步伐越来越大了, ...

  2. python的学习笔记01_5文件操作

    一,文件操作基本流程. 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...

  3. node学习笔记3——文件操作fs

    文件操作关键字: http('fs') ——  请求 node 里面的 http 模块 readFile ——  读文件,参数包括 文件名,回调函数 writeFile ——  写文件,参数包括 文件 ...

  4. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  5. python学习笔记:文件操作和集合

    一.文件操作 文件读写步骤:有一个文件,打开文件,操作文件读写文件,关闭文件. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例) 模式 可做操作 若文件不存在 是否覆盖 r ...

  6. Java 学习笔记(14)—— 文件操作

    java文件操作主要封装在Java.io.File中,而文件读写一般采用的是流的方式,Java流封装在 java.io 包中.Java中流可以理解为一个有序的字符序列,从一端导向到另一端.建立了一个流 ...

  7. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  8. python学习笔记4(文件操作)

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

  9. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

随机推荐

  1. padding和margin设置成百分比

    Margin和Padding是我们在网页设计经常使用到的CSS样式,他们分别是间距和填充,一个作用于盒子外面,一个作用于盒子里面,默认的情况下,这些属性的值都会被计算在盒子的面积里面,在网页开发中的流 ...

  2. excel 删除重复项

    excel 删除重复项 单击“数据”按钮会出现如图所示,这时我们可以看到,在下分的菜单栏里有一个“删除重复项”选项,单击该选项.

  3. 【DWM1000】 code 解密5一ACHOR 第一次回家Main 函数

    instance_run(); if((instance_data[0].monitor == 1) && ((portGetTickCnt() - instance_data[0]. ...

  4. [SPOJ-CIRU]The area of the union of circles/[BZOJ2178]圆的面积并

    [SPOJ-CIRU]The area of the union of circles/[BZOJ2178]圆的面积并 题目大意: 求\(n(n\le1000)\)个圆的面积并. 思路: 对于一个\( ...

  5. CentOs中玩docker

    1.启动: systemctl start docker.service 2.停止: systemctl stop docker 3.从usts上拉取仓库 编辑文件 vi /etc/docker/da ...

  6. C++自动类型转化--特殊构造函数方法和重载的运算符方法

    一.重载运算符法 #include <stdio.h> #include <iostream> class Three { int i; public: Three(, ) : ...

  7. navicat for mysql 只把指定的表数据结构导出

    第一步 右键点击数据库名字,点击数据传输,在常规视图下选择自己要导出的表, 选择要导出的表,点击文件,然后切换到高级视图下,把插入记录前面的对号取消勾选,点击开始即可只导出表结构

  8. Java 多线程 并发和并行

    并发和并行都可以表示执行多个任务,但是偏重点不同.并发偏重于多个任务交替执行,而多个任务之间有可能是串行的.并行是真正意义上的同时执行. 并发和并行示意图如下: 从严格意义上来说,并行的多个任务是真实 ...

  9. Ruby语法基础(三)

    Ruby语法基础(三) ​ 在前面快速入之后,这次加深对基本概念的理解. 字符串 ​ Ruby字符串可以分为单引号字符串和双引号字符串,单引号字符串效率更高,但双引号的支持转义和运行 puts '单引 ...

  10. Node辅助工具NPM&REPL

    Node辅助工具NPM&REPL NPM和REPL是node的包管理器和交互式解析器,可以有效提高开发者效率 NPM npm(Node Package Manager)是node包管理器,完全 ...