使用 Excel VBA 保存文件时如何覆盖已有文件

这两天一直在埋头编写我的人力资源管理软件的导出名册模块,再大功即将告成之时,忽然遇到了问题。

导出的名册是 Excel 格式的,用 Excel VBA 的 Workbook 对象的 Close 方法或者 SaveAs 方法,都可以指定文件名保存文件,但如果指定的文件已经存在,Excel VBA 就会非常“不友好”的弹出一个确认对话框,询问你是否覆盖已用文件,严重破坏了程序的完整性。但是在 Close 和 SaveAs 方法中,却又没有指定是否覆盖的开关参数,一时间让我非常为难。

VarType 和 TypeName 函数

今天用 Visual Basic 6.0 ( SP6) 开发自动生成报表的模块 ( DAO 访问 ACCESS ) 时遇到一个问题,要把从数据库中读取的时间格式化成报表要求的格式,但因为数据库中的时间有日期和字符串两种类型,所以我想先获取数据的类型,再分别做相应的调整。

更改 USB 连接类型解决 ActiveSync / Windows Mobile Device Center 连接问题

问题现象:使用 Windows Mobile 6 的移动设备通过底座或者 USB 线连接到装有 ActiveSync 或 Windows Mobile Device Center (WMDC) 的桌面计算机时,ActiveSync 或者 WMDC 没有反应。

解决方法:从底座上移除或者断开 USB 线缆,在 Windows Mobile 6 设备上点击开始菜单图标,点击“设置”,点击“连接”选项卡,点击“由 USB 连接到 PC”,勾选或取消“启动高级网络功能”选项(默认状态为启用),然后重新放入底座或者连上 USB 线缆,一般即可解决问题。

在 Mac OS X 中获取 CPU 型号

周末想升级一下小白的内存,为了确认一下内存的型号,于是打开了”系统概述“:Intel Core 2 Duo,2 GHz ⋯⋯,但是,怎么找不到具体型号呢?
恩,要知道具体型号,需要运行 sysctl 命令:

sysctl machdep.cpu.brand_string

要获得更多信息,就用 sysctl -a 吧,其它的就看帮助文件喽。

开始菜单小技巧: 阻止特定程序在最近打开的程序列表中显示

大家都知道,从 Windows XP ( 内部版本号:5.1 ) 开始,到 Windows Server 2003 ( 内部版本号: 5.2 ) 和 Windows Vista ( 内部版本号: 6.0 ),开始菜单有了更为漂亮的一种形式。与经典的开始菜单相比,新的开始菜单最重要的改进之一,就是以显示最近打开的程序列表代替了显示所有程序,让我们访问常用程序的操作更为便捷。

Vista x64 下的 C-Media CMI9880 声卡驱动安装

Windows Vista x64 安装后不能识别我的板载 C-Media CMI9880 声卡,好吧,解决方法如下:

到“驱动之家”找到 CMI9880 for Windows XP / 2003 x64 版本的驱动,下载之

将下载的文件解压,注意不要运行解压后得到的 Setup.exe,因为它会检测 Windows 的版本呢,然后告诉你只能用于 Windows XP 和 2003。

在 Ubuntu 中以支持读/写的方式挂载 NTFS 分区

在看了多篇安全文章之后,我毅然决定不再直接使用 Windows XP 系统了,而是向某位安全界的高人学习,用 Ubuntu + VMware 来使用 XP 了……

装完 Ubuntu 7.04 Desktop 之后却发现了一个问题:在通常情况下,Ubuntu 自动挂载的 NTFS 分区是只读的,而我的数据文件包括虚拟机的文件都存放在 NTFS 分区上,不能写,也就不能用虚拟机了,晕!

调整磁盘分区不求人,用好 Vista 自带的磁盘管理

好吧,我承认自己落伍了。要不是今天要帮朋友的 Windows Vista 系统重新调整分区,我可能还要更落伍。

本来昨天在电话里,还颇有心得的和朋友说,要想带数据调整分区,必须借助第三方软件,比如 Partition Magic,但是又要注意几点:备份重要数据,整理磁盘空间,注意中文文件名,还有,不知道对 Vista 的兼容性如何……(别砸我!)

Unload 控件出现 Run-time error '365'

“根据不同的选项,自动调整程序界面的布局。”——自己觉得是个不错的想法,但是辛辛苦苦写完代码,运行时却出错了!
程序的大致设想是通过 ComboBox 控件选择不同的工作项目,用 Label 控件显示出该工作项目的主要工作流程。用 Load 和 Unload 语句动态增减 Label 控件数组。大致语句如下:

...

Dim mintProjectIndex as Integer
Private Sub cmbProject_Click()
Dim lngCount as Long
Dim i as integer
lngCount = lblProcess.UBound
If mintProjectIndex <> cmbProject.ListIndex Then

聚合内容