我将XLSM工作簿的工作表中的数据保存为CSV文件。那部分工作文件。但是当我保存为CSV时,它会关闭XLSM文件。我想打开XLSM文件。有没有办法在一个宏下完成并关闭CSV文件?
这就是我到目前为止:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="list-group no-border mb-5">
<a id="background" class="list-group-item"><i class="icon-bucket"></i> Profile Background</a>
<br />
<a id="boxes" class="list-group-item"><i class="icon-cube"></i> Profile Boxes</a>
<br />
<a id="fonts" class="list-group-item"><i class="icon-font"></i> Profile Fonts</a>
<br />
<a id="highlights" class="list-group-item"><i class="icon-stack-empty"></i> Profile Highlights</a>
<br />
<a id="content" class="list-group-item"><i class="icon-markup"></i> Profile Content</a>
<br />
<a id="media" class="list-group-item"><i class="icon-video-camera2"></i> Profile Media</a>
</div>
如果我现在尝试关闭CSV文件,宏会突然停止。
感谢您查看此内容。
答案 0 :(得分:0)
如果使用Excel for PC,请考虑使用Jet / ACE SQL Engine(Windows .dll文件)。 Jet / ACE OLDEB可以连接到您的工作簿,就好像它是一个数据库并导出文本文件一样,就像它们是表一样。请注意,还会创建 scheme.ini 文件,以识别csv导出的结构。 CSV分隔是默认值。
Sub ExportCSV()
Dim conn As Object
Dim strConnection As String, strSQL As String
Set conn = CreateObject("ADODB.Connection")
' OPEN DB CONNECTION
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _
& "Data Source='C:\Path\To\Workbook.xlsm';" _
& "Extended Properties=""Excel 8.0;HDR=YES;"";"
conn.Open strConnection
' EXPORT WORKSHEET TO CSV
strSQL = " SELECT * " _
& " INTO [text;HDR=Yes;Database=C:\Path\To\CSV\Destination\Folder;" _
& "CharacterSet=65001].CSVFile.csv" _
& " FROM [WORKSHEET$]"
' EXECUTE MAKE-TABLE QUERY
conn.Execute strSQL
' CLOSE CONNECTION
conn.Close
Set conn = Nothing
En Sub