<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FFile_Path%2FCSV</id>
		<title>VBA/Excel/Access/Word/File Path/CSV - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VBA%2FExcel%2FAccess%2FWord%2FFile_Path%2FCSV"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/File_Path/CSV&amp;action=history"/>
		<updated>2026-04-06T01:34:39Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/File_Path/CSV&amp;diff=1458&amp;oldid=prev</id>
		<title> в 16:33, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/File_Path/CSV&amp;diff=1458&amp;oldid=prev"/>
				<updated>2010-05-26T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:33, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/File_Path/CSV&amp;diff=1459&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VBA/Excel/Access/Word/File_Path/CSV&amp;diff=1459&amp;oldid=prev"/>
				<updated>2010-05-26T12:47:09Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Brings up a dialog box that asks the user for a filename.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
  Sub GetImportFileName()&lt;br /&gt;
      Dim Finfo As String&lt;br /&gt;
      Dim FilterIndex As Integer&lt;br /&gt;
      Dim Title As String&lt;br /&gt;
      Dim FileName As Variant&lt;br /&gt;
      FInfo = &amp;quot;Text Files (*.txt),*.txt,&amp;quot; &amp;amp; _&lt;br /&gt;
              &amp;quot;Lotus Files (*.prn),*.prn,&amp;quot; &amp;amp; _&lt;br /&gt;
              &amp;quot;Comma Separated Files (*.csv),*.csv,&amp;quot; &amp;amp; _&lt;br /&gt;
              &amp;quot;ASCII Files (*.asc),*.asc,&amp;quot; &amp;amp; _&lt;br /&gt;
              &amp;quot;All Files (*.*),*.*&amp;quot;&lt;br /&gt;
  &amp;quot;   Display *.* by default&lt;br /&gt;
      FilterIndex = 5&lt;br /&gt;
      Title = &amp;quot;Select a File to Import&amp;quot;&lt;br /&gt;
      FileName = Application.GetOpenFilename(FInfo,FilterIndex, Title)&lt;br /&gt;
      If FileName = False Then&lt;br /&gt;
          MsgBox &amp;quot;No file was selected.&amp;quot;&lt;br /&gt;
      Else&lt;br /&gt;
          MsgBox &amp;quot;You selected &amp;quot; &amp;amp; FileName&lt;br /&gt;
      End If&lt;br /&gt;
  End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create text file based database==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub TextExample()&lt;br /&gt;
    Dim rs As ADODB.Recordset&lt;br /&gt;
    Dim cn As ADODB.Connection&lt;br /&gt;
    Dim sCS As String&lt;br /&gt;
    Dim sSQL As String&lt;br /&gt;
    Set cn = New ADODB.Connection&lt;br /&gt;
    sCS = &amp;quot;DefaultDir=C:\;&amp;quot;&lt;br /&gt;
    sCS = sCS &amp;amp; &amp;quot;Driver={Microsoft Text Driver (*.txt; *.csv)};&amp;quot;&lt;br /&gt;
    sCS = sCS &amp;amp; &amp;quot;DriverId=27;&amp;quot;&lt;br /&gt;
    cn.ConnectionString = sCS&lt;br /&gt;
    cn.Open&lt;br /&gt;
    Debug.Print cn.ConnectionString&lt;br /&gt;
    On Error Resume Next&lt;br /&gt;
    cn.Execute &amp;quot;CREATE TABLE [newfile.txt] (FirstName TEXT, LastName TEXT);&amp;quot;&lt;br /&gt;
    If Err.Number &amp;lt;&amp;gt; 0 And Err.Number &amp;lt;&amp;gt; vbObjectError + 3604 Then&lt;br /&gt;
        Debug.Print Err.Number &amp;amp; &amp;quot;: &amp;quot; &amp;amp; Err.Description&lt;br /&gt;
        Exit Sub&lt;br /&gt;
    End If&lt;br /&gt;
    sSQL = &amp;quot;INSERT INTO [newfile.txt] (FirstName, LastName) Values (&amp;quot;steve&amp;quot;, &amp;quot;roman&amp;quot;);&amp;quot;&lt;br /&gt;
    cn.Execute sSQL&lt;br /&gt;
    Set rs = New ADODB.Recordset&lt;br /&gt;
    rs.Open &amp;quot;SELECT * FROM NewFile.txt&amp;quot;, cn, adOpenDynamic, adLockOptimistic&lt;br /&gt;
    Debug.Print rs.Supports(adAddNew)&lt;br /&gt;
    Debug.Print rs.Supports(adBookmark)&lt;br /&gt;
    Debug.Print rs.Supports(adDelete)&lt;br /&gt;
    Debug.Print rs.Supports(adFind)&lt;br /&gt;
    Debug.Print rs.Supports(adUpdate)&lt;br /&gt;
    Debug.Print rs.Supports(adMovePrevious)&lt;br /&gt;
    &lt;br /&gt;
    rs.Close&lt;br /&gt;
    cn.Close&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Export active worksheet to CSV file==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub ExportActiveWorksheet()&lt;br /&gt;
  Dim oldname$, oldpath$, oldformat&lt;br /&gt;
  Application.DisplayAlerts = False  &amp;quot;avoid safetey alert&lt;br /&gt;
  With ActiveWorkbook&lt;br /&gt;
    oldname = .Name&lt;br /&gt;
    oldpath = .Path&lt;br /&gt;
    oldformat = .FileFormat&lt;br /&gt;
    .ActiveSheet.SaveAs _&lt;br /&gt;
      Filename:=&amp;quot;c:\file.csv&amp;quot;, FileFormat:=xlCSV&lt;br /&gt;
    .SaveAs Filename:=oldpath + &amp;quot;\&amp;quot; + oldname, FileFormat:=oldformat&lt;br /&gt;
  End With&lt;br /&gt;
  Application.DisplayAlerts = True&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Query text file==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Public Sub QueryTextFile()&lt;br /&gt;
    Dim Recordset As ADODB.Recordset&lt;br /&gt;
    Dim ConnectionString As String&lt;br /&gt;
    ConnectionString = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&amp;quot; &amp;amp; ThisWorkbook.Path &amp;amp; &amp;quot;;&amp;quot; &amp;amp; _&lt;br /&gt;
      &amp;quot;Extended Properties=Text;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    Const SQL As String = &amp;quot;SELECT * FROM Sales.csv WHERE Type=&amp;quot;Art&amp;quot;;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    Set Recordset = New ADODB.Recordset&lt;br /&gt;
    Call Recordset.Open(SQL, ConnectionString, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, CommandTypeEnum.adCmdText)&lt;br /&gt;
    Call Sheet1.Range(&amp;quot;A1&amp;quot;).CopyFromRecordset(Recordset)&lt;br /&gt;
    Recordset.Close&lt;br /&gt;
    Set Recordset = Nothing&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Saves the active worksheet in the workbook named MyWorkbook.xls as a comma-delimited text file named test.csv:==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub csvSave()&lt;br /&gt;
    Workbooks(&amp;quot;MyWorkbook.xls&amp;quot;).SaveAs Filename:=ActiveWorkbook.Path &amp;amp; _&lt;br /&gt;
              &amp;quot;\test.csv&amp;quot;, FileFormat:=xlCSV&lt;br /&gt;
End Sub&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Split demonstration==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Sub UsefulStringFunctions() &lt;br /&gt;
    Dim sTestWord As String &lt;br /&gt;
    sTestWord = &amp;quot;One, Two, Three, 4, Five, Six&amp;quot; &lt;br /&gt;
    DemoSplit sTestWord &lt;br /&gt;
End Sub &lt;br /&gt;
Sub DemoSplit(sCSV As String) &lt;br /&gt;
    Dim vaValues As Variant &lt;br /&gt;
    Dim nIndex As Integer &lt;br /&gt;
    vaValues = Split(sCSV, &amp;quot;,&amp;quot;) &lt;br /&gt;
    For nIndex = 0 To UBound(vaValues) &lt;br /&gt;
        Debug.Print &amp;quot;Item (&amp;quot; &amp;amp; nIndex &amp;amp; &amp;quot;) is &amp;quot; &amp;amp; vaValues(nIndex) &lt;br /&gt;
    Next &lt;br /&gt;
End Sub &lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>