Ruby操作VBA的注意事项和技巧:乱码、获取VBA活动和非活动窗口的名称与路径、文件路径的智能拼接与截取(写入日期)、宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用、

1.VBA编辑器复制粘贴出来的代码乱码

    解决方法:切换到中文输入模式再复制出来就行了

2.获取VBA活动和非活动窗口的名称与路径

1 1    Dim wbpath, filename As String
2 2     wbpath = ThisWorkbook.Path ’这个获取的是宏所在的workbook的路径
3 3     ‘filename = ThisWorkbook.Name ‘这个是宏所在的workbook的名字,不带路径
4 4    filename = ActiveWindow.Caption ‘获取到当前正在用的workbook的名字,文件名带后缀,需要截取一下
5 5    filename_len = Len(filename)
6 6    filename = Left(filename, filename_len - 5) ‘减5是为了去掉‘.xlsm’后缀
7 7     ‘MsgBox "本文件的路径为:" & wbpath
8 8     MsgBox "文件名为:" & filename

3.文件路径的智能拼接与截取

1 a = Format(Date, "yyyy年m月d日")   ‘当前年月日
2 ‘ b = Format(Time, "hh时mm分ss秒")     ‘当前时间,以秒为单位会生成多个txt不方便读取
3 b = Format(Time, "hh时mm分")     ‘当前时间,以秒为单位会生成多个txt不方便读取.以分作为最小执行单位
4 currenttime = a & b
5 ‘MsgBox a & b     ‘显示日期时间
6  Open filepath & "\" & filename & "_ErrorInfo" & currenttime & ".txt" For Append As #1
7  Print #1, ErrorInfo ‘逐行打印出错误信息
8 Close #1

 

 

时间: 2024-08-08 03:08:09

Ruby操作VBA的注意事项和技巧:乱码、获取VBA活动和非活动窗口的名称与路径、文件路径的智能拼接与截取(写入日期)、宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用、的相关文章

[译]- 6-1 排列窗体上的控件(Laying Out Widgets on a Form)

 排列窗体上的控件(Laying Out Widgets on a Form) 中英文对照:form(窗体),layout(布局或者排列,意思是进行窗体上控件的排列的过程,如大小位置等) absolute positioning(绝对位置定位),manual layout(手工布局), layout managers(布局管理器) Qt中有三种方式对窗体上的控件进行布局管理:绝对位置定位(absolute positioning),手工布局(manual layout),布局管理器(layout

可导出窗体和背景的报表控件QuickReport

QuickReport 是一个100% 用Delphi 代码编写的分栏报表生成器控件,它可与Delphi 和C++Builder 完美整合,并且Delphi/C++Builder IDE 中使用表单设计器作为报表设计器来设计报表. 具体功能: 报表设计:QuickReport 是一个用Delphi 编写的分栏报表生成器.可与Delphi 和C++Builder 完美整合,在Delphi/C++Builder IDE 中使用表单设计器作为报表设计器来设计报表. 数据连接:Quickreport 可

百度 flash html5自切换 多文件异步上传控件webuploader基本用法

双核浏览器下在chrome内核中使用uploadify总有302问题,也不知道如何修复,之所以喜欢360浏览器是因为帮客户控制渲染内核: 若页面需默认用极速核,增加标签:<meta name="renderer" content="webkit"> 若页面需默认用ie兼容内核,增加标签:<meta name="renderer" content="ie-comp"> 若页面需默认用ie标准内核,增加标签

在WebBrowser中通过模拟键盘鼠标操控网页中的文件上传控件

在WebBrowser中通过模拟键盘鼠标操控网页中的文件上传控件 引言 这两天沉迷了Google SketchUp,刚刚玩够,一时兴起,研究了一下WebBrowser. 我在<WebBrowser控件使用技巧分享>一文中曾谈到过"我现在可以通过WebBrowser实现对各种Html元素的操控,唯独无法控制Html的上传控件",出于安全原因,IE没有对上传控件提供操控支持,这使得我们没法像控制其他控件一样用简单的代码进行赋值. 比较实际的解决方案就是模拟操作了,下面我就将演示

在C#中子线程如何操作主窗口线程上的控件

在C#中子线程怎样操作主线程中窗口上控件 在C#中,直接在子线程中对窗口上的控件操作是会出现异常,这是因为子线程和运行窗口的线程是不同的空间,因此想要在子线程来操作窗口上的控件.是不可能简单的通过控件对象名来操作,但不是说不能进行操作,微软提供了Invoke的方法.其作用就是让子线程告诉窗口线程来完毕对应的控件操作. 要实现该功能,基本思路例如以下: 把想对还有一线程中的控件实施的操作放到一个函数中,然后使用delegate代理那个函数.而且在那个函数中加入一个推断,用 InvokeRequir

ADO面板上的控件简介

ADO面板上的控件简介 一. TADOConnection组件该组件用于建立数据库的连接.ADO的数据源组件和命令组件可以通过该组件运行命令及数据库中提取数据等.该组件用于建立数据库的连接,该连接可被多个数据集所共享,但是并不是应用程序中必须的,因为ADO数据集及命令组件通过设置其ConnectionString属性,可以直接连接到数据库.但是如果多个数据集使用相同的数据库连接时,则使用TADOConnection就有一定的优势,因为不必为每个数据集都单独建立数据库的连接,同时也减少了资源的消耗

Extjs3 + swfUpload2.2 实现多文件上传控件

要在ExrtJS框架实现选择多文件上传,FileUploadField已经无法满足需求,所以采用了 swfUpload上传控件,上传窗口如下: 多选文件进行上传(其实是每个文件异步上传),可以中途停止文件上传,移除所选文件等操作.上传窗口代码如下: var ctx = '<%=request.getContextPath()%>'; Ext.onReady(function(){ Ext.QuickTips.init(); new Ext.Window({ width : 650, title

[转]html5表单上传控件Files API

表单上传控件:<input type="file" />(IE9及以下不支持下面这些功能,其它浏览器最新版本均已支持.) 1.允许上传文件数量 允许选择多个文件:<input type="file" multiple> 只允许上传一个文件:<input  type="file" single> 2.上传指定的文件格式 <input type="file" accept="im

FileUpload上传控件用法详解 (转载)

FileUpload 类显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器.用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles\TestFile.txt )来指定要上载的文件.用户也可以通过单击“浏览” 按钮,然后在“选择文件” 对话框中定位文件来选择文件. 注意: FileUpload 控件设计为仅用于部分页面呈现期间的回发情况,并不用于异步回发情况.在 UpdatePanel 控件内部使用 FileUpload 控件时,