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

网站建设人才调研线上平台怎么推广

网站建设人才调研,线上平台怎么推广,网站备案 代办,工业和信息化部教育与考试中心(VBA实现Excel转csv) 初步学习了VBA相关的知识后,解决了一个需求: 要求读取指定xlsx文件中的指定sheet页,将该sheet页的内容转换为csv文件。 实现的布局如下所示: 文章目录 ①实现从指定行开始全数据转换为…

(VBA实现Excel转csv)
初步学习了VBA相关的知识后,解决了一个需求:
要求读取指定xlsx文件中的指定sheet页,将该sheet页的内容转换为csv文件。
实现的布局如下所示:
在这里插入图片描述

文章目录

  • ①实现从指定行开始全数据转换为csv
  • ②实现指定行指定列部分数据转换为csv

①实现从指定行开始全数据转换为csv

1、Select-File 按钮功能实现
Select-File 按钮主要是实现选取文件,并将选取文件路径显示到下方。

Private Sub CommandButton1_Click()Dim filePath As StringfilePath = SelectFile()If filePath <> "" ThenTextBox1.Text = filePathElseTextBox1.Text = "Please select file丅"End If
End SubPublic Function SelectFile(Optional title As String = "Select File") As StringWith Application.FileDialog(msoFileDialogFilePicker).title = title.AllowMultiSelect = False.Filters.Clear.Filters.Add "all file", "*.*"If .Show = -1 ThenSelectFile = .SelectedItems(1)ElseSelectFile = ""End IfEnd With
End Function

2、Output-File 按钮功能实现
Output-File 按钮功能:读取选取文件的指定sheet页,将对应内容转换为csv文件进行保存,并将保存文件的路径显示在下方。

Private Sub CommandButton3_Click()On Error GoTo ErrorHandlerDim sourceFilePath As StringDim wbSource As WorkbookDim wsSource As WorksheetDim savePath As StringDim fso As ObjectDim ts As ObjectDim lastRow As Long, lastCol As LongDim i As Long, j As LongDim csvContent As StringDim dataArr() As VariantDim startRow As LongDim fileName As String, folderPath As StringDim timeStamp As StringDim targetCols As VariantDim colIndex As VariantDim colCounter As LongDim tempArr As VariantDim rowData As VarianttargetCols = Array(1, 3, 5, 6, 7)Dim colCount As LongcolCount = UBound(targetCols) - LBound(targetCols) + 1startRow = 4sourceFilePath = Trim(TextBox1.Text)If sourceFilePath = "" ThenMsgBox "Please select the file丅", vbExclamationExit SubEnd IfIf Dir(sourceFilePath) = "" ThenMsgBox "File does not exit, please select again", vbCriticalExit SubEnd IfSet fso = CreateObject("Scripting.FileSystemObject")fileName = "Test11111.csv"fileExt = fso.GetExtensionName(sourceFilePath)folderPath = fso.GetParentFolderName(sourceFilePath)savePath = folderPath & "\" & fileNameTextBox2.Text = savePathIf Dir(savePath) <> "" ThenIf MsgBox("The file already exists, do you want to overwrite it?", vbQuestion + vbYesNo) = vbNo ThenExit SubEnd IfEnd IfApplication.ScreenUpdating = FalseSet wbSource = Workbooks.Open(sourceFilePath, ReadOnly:=True)Set wsSource = wbSource.Sheets("Sheet1")With wsSourcelastRow = .Cells(.Rows.Count, 1).End(xlUp).RowactualLastCol = .Cells(startRow, .Columns.Count).End(xlToLeft).ColumnmaxCol = Application.Max(targetCols)If lastRow < startRow ThenMsgBox "Data does not exits丅", vbExclamationGoTo CleanUpEnd IftempArr = .Range(.Cells(startRow, 1), .Cells(lastRow, maxCol)).ValueDim rowCount As LongrowCount = UBound(tempArr, 1)ReDim dataArr(1 To rowCount, 1 To colCount)For i = 1 To rowCountcolCounter = 1For Each colIndex In targetColsIf colIndex <= UBound(tempArr, 2) ThendataArr(i, colCounter) = tempArr(i, colIndex)ElsedataArr(i, colCounter) = ""End IfcolCounter = colCounter + 1Next colIndexNext iEnd WithSet ts = fso.CreateTextFile(savePath, True, False)For i = 1 To UBound(dataArr, 1)csvContent = ""For j = 1 To UBound(dataArr, 2)csvContent = csvContent & CleanCSVValue(dataArr(i, j))If j < UBound(dataArr, 2) Then csvContent = csvContent & ","Next jts.WriteLine csvContentNext its.CloseMsgBox "CSV file:" & vbCrLf & savePath, vbInformation, "has outputed"
CleanUp:If Not wbSource Is Nothing ThenwbSource.Close SaveChanges:=FalseSet wbSource = NothingEnd IfSet ts = NothingSet fso = NothingSet wsSource = NothingApplication.ScreenUpdating = TrueExit SubErrorHandler:MsgBox "Error happend" & Err.Description, vbCritical, "ERROR"Resume CleanUp
End Sub
Private Function CleanCSVValue(ByVal inputValue As Variant) As StringIf IsEmpty(inputValue) Or IsNull(inputValue) ThenCleanCSVValue = ""Exit FunctionEnd IfDim result As Stringresult = CStr(inputValue)If InStr(result, ",") > 0 Or InStr(result, """") > 0 Or InStr(result, vbCr) > 0 Or InStr(result, vbLf) > 0 Thenresult = Replace(result, """", """""")result = """" & result & """"End IfCleanCSVValue = result
End Function

3、Clear 按钮功能实现
Clear 按钮主要是将下方两个文件路径清空。

Private Sub CommandButton2_Click()TextBox1.Text = ""TextBox2.Text = ""
End Sub

实现的效果如图所示:
在这里插入图片描述

②实现指定行指定列部分数据转换为csv

1、Select-File 按钮功能实现
3、Clear 按钮功能实现
这两个按钮的实现和①一致,没有区别,关键不同点在于转换部分。
2、Output-File 按钮功能实现
Output-File 按钮功能:读取选取文件的指定sheet页,将 指定的列对应内容转换为csv文件进行保存,并将保存文件的路径显示在下方。

Private Sub CommandButton3_Click()On Error GoTo ErrorHandlerDim sourceFilePath As StringDim wbSource As WorkbookDim wsSource As WorksheetDim savePath As StringDim fso As ObjectDim ts As ObjectDim lastRow As Long, lastCol As LongDim i As Long, j As LongDim csvContent As StringDim dataArr() As VariantDim startRow As LongDim fileName As String, folderPath As StringDim timeStamp As StringDim targetCols As VariantDim colIndex As VariantDim colCounter As LongDim tempArr As VariantDim rowData As VarianttargetCols = Array(1, 3, 5, 6, 7)Dim colCount As LongcolCount = UBound(targetCols) - LBound(targetCols) + 1startRow = 4sourceFilePath = Trim(TextBox1.Text)If sourceFilePath = "" ThenMsgBox "请选择文件。", vbExclamationExit SubEnd IfIf Dir(sourceFilePath) = "" ThenMsgBox "文件不存在,请重新选择。", vbCriticalExit SubEnd IfSet fso = CreateObject("Scripting.FileSystemObject")fileName = "11111.csv"fileExt = fso.GetExtensionName(sourceFilePath)folderPath = fso.GetParentFolderName(sourceFilePath)savePath = folderPath & "\" & fileNameTextBox2.Text = savePathIf Dir(savePath) <> "" ThenIf MsgBox("文件已存在,是否覆盖", vbQuestion + vbYesNo) = vbNo ThenExit SubEnd IfEnd IfApplication.ScreenUpdating = FalseSet wbSource = Workbooks.Open(sourceFilePath, ReadOnly:=True)Set wsSource = wbSource.Sheets("Sheet1")With wsSourcelastRow = .Cells(.Rows.Count, 1).End(xlUp).RowactualLastCol = .Cells(startRow, .Columns.Count).End(xlToLeft).ColumnmaxCol = Application.Max(targetCols)If lastRow < startRow ThenMsgBox "文件没有数据", vbExclamationGoTo CleanUpEnd IftempArr = .Range(.Cells(startRow, 1), .Cells(lastRow, maxCol)).ValueDim rowCount As LongrowCount = UBound(tempArr, 1)ReDim dataArr(1 To rowCount, 1 To colCount)For i = 1 To rowCountcolCounter = 1For Each colIndex In targetColsIf colIndex <= UBound(tempArr, 2) ThendataArr(i, colCounter) = tempArr(i, colIndex)ElsedataArr(i, colCounter) = ""End IfcolCounter = colCounter + 1Next colIndexNext iEnd WithSet ts = fso.CreateTextFile(savePath, True, False)For i = 1 To UBound(dataArr, 1)csvContent = ""For j = 1 To UBound(dataArr, 2)csvContent = csvContent & CleanCSVValue(dataArr(i, j))If j < UBound(dataArr, 2) Then csvContent = csvContent & ","Next jts.WriteLine csvContentNext its.CloseMsgBox "CSV文件:" & vbCrLf & savePath, vbInformation, "转换完成"
CleanUp:If Not wbSource Is Nothing ThenwbSource.Close SaveChanges:=FalseSet wbSource = NothingEnd IfSet ts = NothingSet fso = NothingSet wsSource = NothingApplication.ScreenUpdating = TrueExit SubErrorHandler:MsgBox "错误发生" & Err.Description, vbCritical, "ERROR"Resume CleanUp
End Sub
Private Function CleanCSVValue(ByVal inputValue As Variant) As StringIf IsEmpty(inputValue) Or IsNull(inputValue) ThenCleanCSVValue = ""Exit FunctionEnd IfDim result As Stringresult = CStr(inputValue)If InStr(result, ",") > 0 Or InStr(result, """") > 0 Or InStr(result, vbCr) > 0 Or InStr(result, vbLf) > 0 Thenresult = Replace(result, """", """""")result = """" & result & """"End IfCleanCSVValue = result
End Function
http://www.dtcms.com/wzjs/504614.html

相关文章:

  • 做网站的赢点公司上海seo博客
  • 中国空间站现在有几个人在哪里可以做百度推广
  • 网络营销主要特点seo搜索引擎优化就业指导
  • 做企业网站要用什么软件品牌宣传推广文案
  • 巴彦淖尔市网站制作链接式友谊
  • 网站前台做哪些工作内容时空seo助手
  • 做美食网站的素材百度指数排行榜哪里看
  • 定制级高端网站建设网站运营优化培训
  • 文字游戏做的最好的网站广州seo网站优化培训
  • 成立网站建设领导小组的通知关键词优化流程
  • 自动化设计网站建设最近的热点新闻
  • 成都网站建设科技公司推广优化seo
  • 自助建网站软件平台自媒体论坛交流推荐
  • wordpress 加载效果百度网络优化推广公司
  • 电子商城网站开发支持手机端域名备案查询
  • 电子商务网站建设技术解决方案保定网站seo
  • wordpress调取留言页面荆门网站seo
  • 婚礼摄影作品网站正规接单赚佣金的app
  • 政府网站是哪个建设的网站制作建设
  • 东莞网站建设基础广东企业网站seo哪里好
  • app上架应用市场需要什么条件网站优化公司哪家好
  • 外贸建站推广多少钱制作网页教程
  • html做简单网站实例综合搜索引擎
  • 微站小程序源码网
  • 国家发改委重大建设项目网站外链查询工具
  • 玉娇龙儿wordpress班级优化大师官网下载
  • 寿光网站制作小红书指数
  • 抚州临川网站建设网站关键词优化方法
  • 做的时间长的网站制作公司最新的即时比分
  • 做分析图地图网站防疫管控优化措施