VB:将短文件名格式转成长文件名

  虽然在 Windows95/98 中已经都可以使用长文件名/目录 (最长可以到255个字节),但是在您将长文件名的文件或目录存文件时,系统同时给了它一个可以相容于以前 MS-DOS 时代的 8.3 格式的文件名称!

到目前为止,还是有些软件会使用 8.3 格式的文件名称,在安装这些软件时,它们写到注册文件中的资料,仍然采用 8.3 格式的文件名称,所以有时候,您在维护系统时,必须知道目前这些已经转成 8.3 格式的文件名称,原来的长文件名是什么。

在 问题:如何将长文件名转成短文件名格式 (MS-DOS 8.3) ,我们已经讲过长文件名转成短文件名,当时是使用 API 来做,过程上还蛮麻烦的,但是相反的,要从短文件名转成长文件名,过程却比较简单,也不需要用到 API,只要使用 Dir( ) 就可以了!
程序代码: 
'请将以下的模组放到声明区中:

Public Function GetLongFilename(ByVal sShortName As String) As String
Dim sLongName As String
Dim sTemp As String
Dim iSlashPos As Integer

'在短文件名之后加上倒斜线 "\",避免 Instr 造成错误
sShortName = sShortName & "\"
'略过磁盘代号,从第四码开始
iSlashPos = InStr(4, sShortName, "\")

'从文件名之第四码之后,一段一段处理在二个倒斜线 "\"之间的字串转换
While iSlashPos
sTemp = Dir(Left$(sShortName, iSlashPos - 1), vbNormal + vbHidden + vbSystem + vbDirectory)
If sTemp = "" Then 'Error 52 - Bad File Name or Number
GetLongFilename = ""
Exit Function
End If
sLongName = sLongName & "\" & sTemp
iSlashPos = InStr(iSlashPos + 1, sShortName, "\")
Wend
'将转换后的文件名加上原先略过的磁盘代号,变成完整的全路径文件名
GetLongFilename = Left$(sShortName, 2) & sLongName
End Function

'实际使用范例如下:

Private Sub Command1_Click()
'假设 C:\Program Files\Common Files 是一个正确的全路径文件名或目录
Print GetLongFilename("C:\PROGRA~1\COMMON~1")
End Sub

'结果就是 C:\Program Files\Common Files。
 

VB部分相关推荐

VB快速读取 TextBox N 行的资料

VB禁止使用 Alt-Tab Ctrl-Alt-Del

生成迷宫的程序

另一方法转换大小写

VB控件注册 - 利用资源文件将dllocx打包进exe文件

VB利用资源文件进行工作

[]vb高效编程(优化)

VB阳历转阴历

VB代码取得硬盘的物理序列号

VB获得磁盘的文件系统

VB的,经常注册和反注册OCX控件和DLL

VB从程序中生成Exe文件

VB6监视/操作剪贴板示例(VB6.0代码)

VB6里自动提交/自动填表的一种相对通用的方案

VB移动没有标题的窗体

VB随机字母的函数

VB删除带子文件夹和文件的文件夹

VB怎样屏蔽 Alt+F4

VB 隐藏进程

vb屏蔽文本框点右键时的弹出菜单

VB手控Combobox的打开或收起

VBINI文件的读写、删除(对中文支持很好)

vb全局热键的写法(占很少的资源)

vb取消文本框的粘贴功能

VB常用文件操作类

VB获取特殊文件夹

VB获取windows各常用目录的函数(模块)

VB生成太极图

VB:常用内部函数大全,你会了几个呢?

vbSendMessage函数

精简VB程序的代码

VB:将数字转换为大写中文

VB:设定 MsgBox 在若干时间之后若无回应则自动关闭

VB:读取及设定NumLock/CapsLock/ScrollLock的值

VB:您知道 Mid$ 函量可以放在 '=' 的左方吗

VB后台获得按键,并执行自己的函数(非钩子及热键)

VB:将短文件名格式转成长文件名

vb中使用Iphlpapi.dll获取网络信息(上)

vb中使用Iphlpapi.dll获取网络信息(下)

更多精彩 >>>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB中合并Excel文件的文件名可以通过以下步骤来实现。 1. 首先,需要引用Microsoft Excel的对象库。在VB的"工具"->"引用"中勾选"Microsoft Excel 15.0 Object Library"(版本号可能会有所不同)。 2. 创建Excel应用程序对象和工作簿对象。使用CreateObject("Excel.Application")来创建新的Excel应用程序对象,然后使用该对象的Workbooks属性来创建一个新的工作簿对象。 3. 打开要合并的Excel文件。可以使用工作簿对象的Open方法来打开指定的文件。可以使用FileDialog对话框来选择要合并的Excel文件,或者通过指定文件的路径来直接打开。 4. 将要合并的工作表复制到目标工作簿中。可以使用工作簿对象的Worksheets属性来访问工作表,使用工作表对象的Copy方法将其复制到目标工作簿。 5. 依次打开并复制其他要合并的Excel文件的工作表,直到所有文件都复制完毕。 6. 保存目标工作簿并关闭Excel应用程序。可以使用工作簿对象的SaveAs方法来指定保存的文件名和路径,然后使用Close方法关闭工作簿和Excel应用程序。 以下是一个示例代码,用于合并名为"file1.xlsx"和"file2.xlsx"的两个Excel文件: ```vb Imports Microsoft.Office.Interop.Excel Public Class Form1 Private Sub MergeExcelFiles_Click(sender As Object, e As EventArgs) Handles MergeExcelFiles.Click Dim excelApp As New Application Dim targetWorkbook As Workbook = excelApp.Workbooks.Add Dim fileDialog As New OpenFileDialog fileDialog.Multiselect = True If fileDialog.ShowDialog() = DialogResult.OK Then For Each filename In fileDialog.FileNames Dim sourceWorkbook As Workbook = excelApp.Workbooks.Open(filename) For Each worksheet As Worksheet In sourceWorkbook.Worksheets worksheet.Copy(After:=targetWorkbook.Sheets(targetWorkbook.Sheets.Count)) Next sourceWorkbook.Close(False) Next End If Dim saveFileDialog As New SaveFileDialog saveFileDialog.FileName = "merged_file.xlsx" If saveFileDialog.ShowDialog() = DialogResult.OK Then targetWorkbook.SaveAs(saveFileDialog.FileName) targetWorkbook.Close(False) End If excelApp.Quit() excelApp = Nothing MessageBox.Show("Excel文件合并完成。") End Sub End Class ``` 以上是一个简单的VB合并Excel文件的示例,可以根据实际需求进行修改和优化。注意在使用Excel对象之后,要记得手动释放资源,关闭Excel应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值