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

news2025/6/9 12:07:52

 

 Dim filePath As String
    Dim fileContent As String
   
    Dim lines() As String
    Dim dataArray() As String
    Dim lineCount As Long
    Dim maxCols As Long
    Dim i As Long, j As Long
    
    ' 文件路径
    filePath = ""
    
    ' 检查文件是否存在
    If Dir(filePath) = "" Then
        MsgBox "文件不存在: " & filePath, vbExclamation
        Exit Sub
    End If
    
    ' 读取文件内容
    On Error Resume Next
    fileContent = ReadFileContent(filePath)
    If Err.Number <> 0 Then
        MsgBox "读取文件时出错: " & Err.Description, vbCritical
        Exit Sub
    End If
    On Error GoTo 0
    
    ' 按行分割内容
    lines = Split(fileContent, vbCrLf)
    lineCount = UBound(lines) + 1
    
    ' 确定最大列数
    maxCols = 0
    For i = 0 To UBound(lines)
        If Len(Trim(lines(i))) > 0 Then
            Dim cols() As String
            cols = Split(lines(i), ",")  ' 假设使用逗号分隔,根据实际情况修改
            If UBound(cols) + 1 > maxCols Then
                maxCols = UBound(cols) + 1
            End If
        End If
    Next i
    
    
    ' 重新定义数组大小
    ReDim dataArray(1 To lineCount, 1 To maxCols)
    
    ' 填充数组
    For i = 0 To UBound(lines)
        If Len(Trim(lines(i))) > 0 Then
            Dim cols() As String
            cols = Split(lines(i), ",")  ' 假设使用逗号分隔,根据实际情况修改
            
            For j = 0 To UBound(cols)
                dataArray(i + 1, j + 1) = cols(j)
            Next j
        End If
    Next 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.Add
    ws.Name = "人员权重数据"
    
    ' 填充数据
    Dim i As Long, j As Long
    For i = 1 To rows
        For j = 1 To cols
            ws.Cells(i, j).Value = dataArray(i, j)
        Next j
    Next i
    
    ' 自动调整列宽
    ws.Columns.AutoFit
End Sub

读取文件


' 读取文件内容的辅助函数
Function ReadFileContent(filePath As String) As String
    Dim fileNum As Integer
    Dim content As String
    
    fileNum = FreeFile
    
    Open filePath For Input As #fileNum
    content = Input$(LOF(fileNum), #fileNum)
    Close #fileNum
    
    ReadFileContent = content
End Function

读取文件

unction 仙盟创梦macro_招标系统_读取文件(filePath As String) As String

' 方法一:使用FSO
    fileContent = ReadTextFile_FSO(filePath)
    If fileContent <> "" Then
        MsgBox "文件内容长度: " & Len(fileContent), vbInformation
    End If
    
    Dim fileNum As Integer
    Dim content As String
    Dim tempStr As String
    
    fileNum = FreeFile
    
    On Error GoTo ErrorHandler
    
    Open filePath For Input As #fileNum
    
    ' 安全读取文件内容
    Do While Not EOF(fileNum)
        Line Input #fileNum, tempStr
        content = content & tempStr & vbCrLf
    Loop
    
    Close #fileNum
    ReadFileSafely = content
    Exit Function
    
ErrorHandler:
    Close #fileNum  ' 确保关闭文件
    MsgBox "读取文件时出错: " & Err.Description, vbCritical
    ReadFileSafely = ""
End Function

文件读取

Function 仙盟创梦macro_招标系统_读取文件2(filePath As String) As String
    Dim fso As Object
    Dim file As Object
    
    ' 创建FileSystemObject
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    ' 检查文件是否存在
    If fso.FileExists(filePath) Then
        ' 打开文件并读取全部内容
        Set file = fso.OpenTextFile(filePath, 1, False) ' 1 = ForReading
        ReadTextFile_FSO = file.ReadAll
        file.Close
    Else
        MsgBox "文件不存在: " & filePath, vbExclamation
        ReadTextFile_FSO = ""
    End If
    
    ' 释放对象
    Set file = Nothing
    Set 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.Add
    ws.Name = "人员权重数据3"
    
    ' 填充数据
    Dim i As Long, j As Long
    For i = 1 To rows
        For j = 1 To cols
            'ws.Cells(i, j).Value = dataArray(i, j)
             ws.Cells(i, j).Value = dataArray(j)
        Next j
    Next i
    
    ' 自动调整列宽
    ws.Columns.AutoFit
End Sub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2386286.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙devEco studio如何创建模拟器

官网原文链接&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-emulator-create 操作步骤 点击菜单栏的Tools > Device Manager&#xff0c;点击右下角的Edit设置模拟器实例的存储路径Local Emulator Location&#xff0c;Mac默认存储在~/…

鸿蒙路由参数传递

页面test.ets 代码如下&#xff1a; import router from ohos.router Entry Component struct Test {State message: string Hello WorldState username: string huState password: string 1build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWe…

springboot 控制层调用业务逻辑层,注入报错,无法自动装配 解决办法

报错&#xff1a; 解决&#xff1a;愿意是业务逻辑层&#xff0c;即service层的具体实现类没有加注解Service导致的&#xff0c;加上解决了&#xff01;&#xff01;

MySQL:11_事务

事务 一.CURD不加控制&#xff0c;会有什么问题&#xff1f; 二.什么是事务&#xff1f; 事务就是一组DML语句组成&#xff0c;这些语句在逻辑上存在相关性&#xff0c;这一组DML语句要么全部成功&#xff0c;要么全部失败&#xff0c;是一个整体。MySQL提供一种机制&#xf…

Linux中的文件系统和软硬连接

磁盘的访问方式 CHS&#xff08;柱面&#xff0c;磁头&#xff0c;扇区&#xff09; 法&#xff08;磁盘硬件查找&#xff09;&#xff1a; 确定柱面&#xff08;C&#xff09; 磁头臂移动到对应的柱面位置。例如&#xff0c;柱面号为 5&#xff0c;则磁头移动到第 5 个磁道组…

Spring AI:Java开发者的AI开发新利器

目录 一、引言 二、Spring AI 是什么 三、核心功能与特性 3.1 统一的 API 抽象 3.2 丰富的模型支持 3.3 低代码集成 3.4 结构化数据输出 3.5 流式数据响应 四、应用场景 4.1 智能客服系统 4.2 图像识别应用 4.3 数据分析与预测 五、快速上手 5.1 环境搭建 5.2 创…

Spring Cloud Sleuth与Zipkin深度整合指南:微服务链路追踪实战

上篇文章简单介绍了SpringCloud系列熔断器&#xff1a;Sentinel的搭建及基本用法&#xff0c;今天继续讲解下SpringCloud的微服务链路追踪&#xff1a;Zipkin的使用&#xff01;在分享之前继续回顾下本次SpringCloud的专题要讲的内容&#xff1a; 前置知识说明 在开始本教程前…

spring-ai 集成 mcp 之投机取巧

主旨 这篇文章主旨就一点&#xff0c;罗列spring-ai对mcp集成导致出现的一系列问题 分析 由于mcp未问世之前&#xff0c;就早就已经有了工具调用&#xff0c;源码如下&#xff1a; public interface ToolCallback {/*** Definition used by the AI model to determine when a…

大语言模型的完整训练周期从0到1的体系化拆解

以下部分内容参考了AI。 要真正理解大语言模型&#xff08;LLM&#xff09;的创生过程&#xff0c;我们需要将其拆解为一个完整的生命周期&#xff0c;每个阶段的关键技术相互关联&#xff0c;共同支撑最终模型的涌现能力。以下是体系化的训练流程框架&#xff1a; 阶段一&am…

历年北京邮电大学保研上机真题

2025北京邮电大学保研上机真题 2024北京邮电大学保研上机真题 2023北京邮电大学保研上机真题 在线测评链接&#xff1a;https://pgcode.cn/problem?classification1 32位二进制串加法 题目描述 输入一个32位的二进制01串&#xff0c;输出这个数1和3后的32位二进制串。 输入…

《仿盒马》app开发技术分享-- 定位获取(端云一体)

开发准备 上一节我们实现了地址管理页面的数据查询和展示&#xff0c;接下来我们要实现的功能是地址添加相关的&#xff0c;我们想实现的功能是地图选点&#xff0c;那么在地图选点之前我们要做的就是先获取用户当前的定位。获取定位后我们拿到经纬度和其他信息&#xff0c;然…

黑马点评--基于Redis实现共享session登录

集群的session共享问题分析 session共享问题&#xff1a;多台Tomcat无法共享session存储空间&#xff0c;当请求切换到不同Tomcat服务时&#xff0c;原来存储在一台Tomcat服务中的数据&#xff0c;在其他Tomcat中是看不到的&#xff0c;这就导致了导致数据丢失的问题。 虽然系…

Mujoco 学习系列(二)基础功能与xml使用

这篇文章是 Mujoco 学习系列第二篇&#xff0c;主要介绍一些基础功能与 xmI 使用&#xff0c;重点在于如何编写与读懂 xml 文件。 运行这篇博客前请先确保正确安装 Mujoco 并通过了基本功能与GUI的验证&#xff0c;即至少完整下面这个博客的 第二章节 内容&#xff1a; Mujoc…

比特授权云外壳加密支持Android 15!

在信息化时代&#xff0c;多数软件供应商需要适配安卓系统&#xff0c;以扩大市场、满足用户需求并提升竞争力。APK作为Android应用的安装包&#xff0c;包含代码、资源、配置文件等运行所需组件&#xff0c;用于在设备端分发和安装应用。企业在分发软件时&#xff0c;需要通过…

uniapp使用sse连接后端,接收后端推过来的消息(app不支持!!)

小白终成大白 文章目录 小白终成大白前言一、什么是SSE呢&#xff1f;和websocket的异同点有什么&#xff1f;相同点不同点 二、直接上实现代码总结 前言 一般的请求就是前端发 后端回复 你一下我一下 如果需要有什么实时性的 后端可以主动告诉前端的技术 我首先会想到 webso…

历年复旦大学保研上机真题

2025复旦大学保研上机真题 2024复旦大学保研上机真题 2023复旦大学保研上机真题 在线测评链接&#xff1a;https://pgcode.cn/problem?classification1 最大公共子串 题目描述 输入 3 个子串&#xff0c;输出这 3 个子串的最大公共子串。 输入格式 输入包含 3 个子串&…

黑马点评-实现安全秒杀优惠券(使并发一人一单,防止并发超卖)

一.实现优惠券秒杀 1.最原始代码&#xff1a; Service public class VoucherOrderServiceImpl extends ServiceImpl<VoucherOrderMapper, VoucherOrder> implements IVoucherOrderService {Resourceprivate ISeckillVoucherService seckillVoucherService;Resourcepriv…

解决论文中字体未嵌入的问题

文章总览&#xff1a;YuanDaiMa2048博客文章总览 解决论文中字体未嵌入的问题 问题描述解决方案&#xff1a;使用 Adobe PDF 打印机嵌入字体&#xff08;WPS版&#xff09;步骤一&#xff1a;打开 PDF 文件步骤二&#xff1a;选择打印到 Adobe PDF步骤三&#xff1a;修改 Adobe…

leetcode 131. Palindrome Partitioning

目录 一、题目描述 二、方法1、回溯法每次暴力判断回文子串 三、方法2、动态规划回溯法 一、题目描述 分割回文子串 131. Palindrome Partitioning 二、方法1、回溯法每次暴力判断回文子串 class Solution {vector<vector<string>> res;vector<string>…

审计报告附注救星!实现Word表格纵向求和+横向计算及其对应的智能校验

在审计工作中&#xff0c;Word附注通常包含很多表格。为了确保附注数字的准确性&#xff0c;我们需要对这些表格进行数字逻辑校验&#xff0c;主要包含两个维度&#xff1a;在纵向上验证合计项金额是否正确&#xff1b;在横向上检查“年末金额年初金额本期增加-本期减少”的勾稽…