当前位置: 首页 > article >正文

在 Excel 使用macro————仙盟创梦IDE

 

 Dim filePath As StringDim fileContent As StringDim lines() As StringDim dataArray() As StringDim lineCount As LongDim maxCols As LongDim i As Long, j As Long' 文件路径filePath = ""' 检查文件是否存在If Dir(filePath) = "" ThenMsgBox "文件不存在: " & filePath, vbExclamationExit SubEnd If' 读取文件内容On Error Resume NextfileContent = ReadFileContent(filePath)If Err.Number <> 0 ThenMsgBox "读取文件时出错: " & Err.Description, vbCriticalExit SubEnd IfOn Error GoTo 0' 按行分割内容lines = Split(fileContent, vbCrLf)lineCount = UBound(lines) + 1' 确定最大列数maxCols = 0For i = 0 To UBound(lines)If Len(Trim(lines(i))) > 0 ThenDim cols() As Stringcols = Split(lines(i), ",")  ' 假设使用逗号分隔,根据实际情况修改If UBound(cols) + 1 > maxCols ThenmaxCols = UBound(cols) + 1End IfEnd IfNext i' 重新定义数组大小ReDim dataArray(1 To lineCount, 1 To maxCols)' 填充数组For i = 0 To UBound(lines)If Len(Trim(lines(i))) > 0 ThenDim cols() As Stringcols = Split(lines(i), ",")  ' 假设使用逗号分隔,根据实际情况修改For j = 0 To UBound(cols)dataArray(i + 1, j + 1) = cols(j)Next jEnd IfNext i' 在新工作表中显示数据(可选)DisplayDataInWorksheet dataArray, lineCount, maxCols' 现在可以使用dataArray数组进行后续处理MsgBox "文件已成功读取并解析为数组!", vbInformation

显示数据表

 

' 在工作表中显示数组数据的辅助函数
Sub DisplayDataInWorksheet(dataArray() As String, rows As Long, cols As Long)Dim ws As Worksheet' 创建新工作表Set ws = ThisWorkbook.Sheets.Addws.Name = "人员权重数据"' 填充数据Dim i As Long, j As LongFor i = 1 To rowsFor j = 1 To colsws.Cells(i, j).Value = dataArray(i, j)Next jNext i' 自动调整列宽ws.Columns.AutoFit
End Sub

读取文件


' 读取文件内容的辅助函数
Function ReadFileContent(filePath As String) As StringDim fileNum As IntegerDim content As StringfileNum = FreeFileOpen filePath For Input As #fileNumcontent = Input$(LOF(fileNum), #fileNum)Close #fileNumReadFileContent = content
End Function

读取文件

unction 仙盟创梦macro_招标系统_读取文件(filePath As String) As String' 方法一:使用FSOfileContent = ReadTextFile_FSO(filePath)If fileContent <> "" ThenMsgBox "文件内容长度: " & Len(fileContent), vbInformationEnd IfDim fileNum As IntegerDim content As StringDim tempStr As StringfileNum = FreeFileOn Error GoTo ErrorHandlerOpen filePath For Input As #fileNum' 安全读取文件内容Do While Not EOF(fileNum)Line Input #fileNum, tempStrcontent = content & tempStr & vbCrLfLoopClose #fileNumReadFileSafely = contentExit FunctionErrorHandler:Close #fileNum  ' 确保关闭文件MsgBox "读取文件时出错: " & Err.Description, vbCriticalReadFileSafely = ""
End Function

文件读取

Function 仙盟创梦macro_招标系统_读取文件2(filePath As String) As StringDim fso As ObjectDim file As Object' 创建FileSystemObjectSet fso = CreateObject("Scripting.FileSystemObject")' 检查文件是否存在If fso.FileExists(filePath) Then' 打开文件并读取全部内容Set file = fso.OpenTextFile(filePath, 1, False) ' 1 = ForReadingReadTextFile_FSO = file.ReadAllfile.CloseElseMsgBox "文件不存在: " & filePath, vbExclamationReadTextFile_FSO = ""End If' 释放对象Set file = NothingSet fso = Nothing仙盟创梦macro_招标系统_读取文件2 = ReadTextFile_FSO
End Function

数据显示

' 在工作表中显示数组数据的辅助函数
Sub DisplayDataInWorksheet(dataArray() As String, rows As Long, cols As Long)Dim ws As Worksheet' 创建新工作表Set ws = ThisWorkbook.Sheets.Addws.Name = "人员权重数据3"' 填充数据Dim i As Long, j As LongFor i = 1 To rowsFor j = 1 To cols'ws.Cells(i, j).Value = dataArray(i, j)ws.Cells(i, j).Value = dataArray(j)Next jNext i' 自动调整列宽ws.Columns.AutoFit
End Sub

http://www.lryc.cn/news/2386286.html

相关文章:

  • 【MySQL】08.视图
  • 鸿蒙devEco studio如何创建模拟器
  • 鸿蒙路由参数传递
  • springboot 控制层调用业务逻辑层,注入报错,无法自动装配 解决办法
  • MySQL:11_事务
  • Linux中的文件系统和软硬连接
  • 并发容器(Collections)
  • SPA模式下的es6如何加快宿主页的显示速度
  • windows powershell 判断 进程号是否存在
  • c# 解码 encodeURIComponent
  • Spring AI:Java开发者的AI开发新利器
  • Android System UI 深度解析:从架构演进到车载 / TV 场景的全维度定制
  • Spring Cloud Sleuth与Zipkin深度整合指南:微服务链路追踪实战
  • React从基础入门到高级实战:React 基础入门 - 列表渲染与条件渲染
  • 在 stm32 中 volatile unsigned signed 分别有什么作用,分别在什么场景下使用?
  • FreeBSD14.2因为爆内存而导致Xfce4视窗被卡,桌面变黑色,只能看到鼠标在窗体中心,鼠标无反应,键盘无反应
  • k8s-NetworkPolicy
  • spring-ai 集成 mcp 之投机取巧
  • 大语言模型的完整训练周期从0到1的体系化拆解
  • 历年北京邮电大学保研上机真题
  • elementUI 中el-date-picker和el-select的样式调整
  • 《仿盒马》app开发技术分享-- 定位获取(端云一体)
  • 黑马点评--基于Redis实现共享session登录
  • Mujoco 学习系列(二)基础功能与xml使用
  • 比特授权云外壳加密支持Android 15!
  • uniapp使用sse连接后端,接收后端推过来的消息(app不支持!!)
  • 历年复旦大学保研上机真题
  • 黑马点评-实现安全秒杀优惠券(使并发一人一单,防止并发超卖)
  • 解决论文中字体未嵌入的问题
  • leetcode 131. Palindrome Partitioning