VB 宏+mysql解决EXCEL表格实现自动化处理-程序员宅基地

技术标签: 数据库  

1、表格模板自动建立源码

Sub opp()
Dim myPath$, myFile$, AK As Workbook
Application.ScreenUpdating = False
myPath = "d:\test\"
myFile = Dir(myPath & "*.xls")
Do While myFile <> ""
If myFile <> ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath & myFile)
End If
Call F
    ChDir "D:\test"
    ActiveWorkbook.SaveAs Filename:=AK.Name, _
         FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWindow.Close
myFile = Dir
Loop
Application.ScreenUpdating = True
End Sub


Sub F()


  
    Sheets.Add after:=Sheets(Sheets.Count)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "主设备"
    Range("b1:h1").Merge
    Range("i1:n1").Merge
    Range("a2") = "设计物资标识(系统唯一)"
    Range("b2") = "物料大类*"
    Range("c2") = "物料中类*"
    Range("d2") = "物料小类*"
    Range("e2") = "物料说明"
    Range("f2") = "单位*"
    Range("g2") = "数量*"
    Range("h2") = "厂家"
    Range("I2") = "物料编码*"
    Range("j2") = "物料名称*"
    Range("k2") = "型号"
    Range("l2") = "物料价值(元)"
    Range("m2") = "箱号*"
    Range("n2") = "领取数量*"
    Range("b1:h1") = "设计单位"
    Range("i1:n1") = "场家"
    Range("B1:H1").Select
    With Selection.Font
        .Name = "宋体"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Bold = True
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
        Range("I1:N1").Select
    With Selection.Font
        .Name = "宋体"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Bold = True
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
        Range("A2:N2").Select
    With Selection.Font
        .Name = "宋体"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Bold = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Selection.Font.Bold = True
    Selection.Font.Bold = False
'
    Range("A1:N200").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .ColumnWidth = 17.29
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
    End With
    Range("G4").Select
    ActiveSheet.Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = "主材"
    ActiveSheet.Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = "配套"
    ActiveSheet.Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = "不安装设备"
    Application.DisplayAlerts = False
    Sheets(1).Delete

End Sub

 

2、数据库调试及表格检测插入

Sub opp()
Dim myPath$, myFile$, AK As Workbook
Application.ScreenUpdating = False
myPath = "d:\test\"
myFile = Dir(myPath & "*.xls")
Do While myFile <> ""
If myFile <> ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath & myFile)
End If
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;DB=test;UID=root;PWD=Changeme_123;OPTION=3;"
conn.Open
rs.Open "select 厂家部件号,厂家部件描述,箱号,数量 from 900m where 发射点名称='" & myFile & "'", conn
Sheets("主设备").Range("I3").CopyFromRecordset rs
Dim x As Integer
Sheets("主设备").Select
x = Range("I65536").End(xlUp).Row
Application.DisplayAlerts = False
Range("K3:L" & x).Select
Selection.Cut
Range("M3").Select
ActiveSheet.Paste
Application.DisplayAlerts = True
rs.Close: Set rs = Nothing
conn.Close: Set conn = Nothing
ChDir "D:\test"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=AK.Name, _
    FileFormat:= _
    xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
Application.DisplayAlerts = True
myFile = Dir
Loop
Application.ScreenUpdating = True
End Sub

转载于:https://www.cnblogs.com/Vidar854/p/10545006.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30271335/article/details/95049804

智能推荐

防关联浏览器指纹管理:保护账号不受干扰-程序员宅基地

文章浏览阅读46次。在如今的网络环境中,我们的个人信息和行为轨迹往往被广泛追踪和记录,构成了所谓的“浏览器指纹”。这种指纹信息可以通过诸如IP地址、设备信息、浏览历史、Canvas指纹等多种方式被网站用来识别和关联用户,从而影响用户的隐私和安全。然而,虚拟的出现为我们提供了一种有效的解决方案,使得我们可以在网络世界中保持匿名和隐私。

制作(改制)自己的linux镜像(iso)_linux制作镜像iso文件-程序员宅基地

文章浏览阅读4.2k次。5.这时就可以修改/data/iso中的文件了,本次我是修改了镜像中的脚本中的一小段脚本,然后也可以添加你需要的压缩包到你需要放的目录。2.创建零时需要的文件夹两个 一个是用来挂载镜像到目录上的,另外一个是制作(改制)新镜像的源目录。6.打包源文件夹为新的镜像文件(iso),就会在你执行这条命令的目录下打包好新的镜像文件了。7.可以把这个新的镜像文件使用vm加载安装系统,very nice!3.挂载VM主机的CDROM到 /media/cdrom上。4.同步cdrom的镜像文件到 上面创建的源文件夹。_linux制作镜像iso文件

Hadoop : hdfs的核心工作原理_hdfs 内核原理-程序员宅基地

文章浏览阅读5.7k次。namenode元数据管理要点 什么是元数据?hdfs的目录结构及每一个文件的块信息(块的id,块的副本数量,块的存放位置&lt;datanode&gt;)元数据由谁负责管理?namenodenamenode把元数据记录在哪里?namenode的实时的完整的元数据存储在内存中;namenode还会在磁盘中(dfs.namenode.name.dir)存储内存元..._hdfs 内核原理

详解Python操作Excel文件_python workbooks.open-程序员宅基地

文章浏览阅读7.4k次,点赞34次,收藏250次。前言本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法。常见库简介1.xlrdxlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件。地址:http://xlrd.readthedocs.io/en/latest/ xlrd支持.xls,.xlsx文件的读 通过设置on_demand变量使open_wor..._python workbooks.open

Android 逆向(四) - adb常用逆向命令-程序员宅基地

文章浏览阅读5.2k次,点赞6次,收藏7次。本篇文章继续记录下adb 的一些常用逆向命令.

Ribbon 饥饿加载_ribbon饥饿加载-程序员宅基地

文章浏览阅读768次。Ribbon 默认为懒加载即在首次启动Application时会默认加载,然后将其存储在缓存中,这样程序启动完成后就可以直接拿来用。在applicaiont.yml配置文件中完成配置,可支持针对某个服务进行配置。_ribbon饥饿加载

随便推点

判断并输出两个数之间的奇数_输入一个两位数,显示从 1 到你输入的两位数(包括这个数)之间所有的奇数和奇数的个-程序员宅基地

这段代码似乎在尝试让用户输入两个整数,然后判断并输出这两个数之间的奇数。文章内容杂乱无章,难以理解。

vue中使用router动态加载路由找不到文件_vue-router动态添加路由 找不到文件-程序员宅基地

文章浏览阅读1.1k次。该文章仅为个人踩坑记录,如有代码错误请提出,本人将积极改正。_vue-router动态添加路由 找不到文件

c++ char数组和string间的相互转换_c++ char数组转换成string-程序员宅基地

文章浏览阅读1.2k次,点赞22次,收藏18次。今天做题遇到了char数组和string间的相互转换的问题,网上搜有点散,来整理一下。_c++ char数组转换成string

QWebEngineView如何忽略SSL证书错误_qwebengineview ssl-程序员宅基地

文章浏览阅读4.5k次,点赞7次,收藏19次。最近用QT写客户端软件,思路是使用QWebEngineView来绘制本地的html或者服务器上的html做界面展示。可是发现QWebEngineView在Load一个https的URL的时候,由于ssl证书不可信导致提示有错误,无法显示内容,在QWebEngineView这个类里面找了半天都没看到忽略SSL证书错误的方法,后面终于找到了,原来在藏在QWebEnginePage这个类里面。这里,..._qwebengineview ssl

深入浅出ExtJS 第四章 表单与输入控件-程序员宅基地

文章浏览阅读149次。1 4.1 制作表单 2 var form = new Ext.form.FormPanel({ 3 title:'form', 4 defaultType:'textfield', 5 buttonAlign:'center', 6 frame:true, 7 width:220, 8 fieldDef..._extjs textfiled 直接放在viewport

物联网卡是什么?_什么是物联网卡-程序员宅基地

文章浏览阅读1.7k次。在最近几年,物联网技术这个概念就一直被广泛提及,他的到来给予了我们全新的发展机遇,一大批智能设备也在高速发展。然而,作为物联网技术中的关键一环,物联网卡也得到了急速的发展,物联网卡的到来极大的方便了我们的日常生活,他也为智能设备装上了一款智慧大脑。那么,什么是物联网卡?物联网卡是三大运营商联合发布的,主要用户是针对于企业而非个人。物联网卡也被安装在各种物体上是SIM卡、传感器、二维码..._什么是物联网卡