Option Explicit
Const Direct = "C:\VBAFiles\"
Const CsvFile = "A22.csv"
Const DataBase = "A22.mdb"
Const NewTabelName = "A22Gusting"
Sub Main()
Dim i As Integer
Dim mMyData() As String
Dim mRow As Integer
Dim mColumn As Integer
Dim mClearIt As String
If Not CheckForDirectory Then Exit Sub
mClearIt = Chr(13) & Chr(7)
For i = 1 To ThisDocument.Tables.Count
mRow = ThisDocument.Tables(i).Rows.Count
mColumn = ThisDocument.Tables(i).Columns.Count
mMyData = Split(ThisDocument.Tables(i).Range.Text, mClearIt)
WriteCSV mMyData, mColumn, i
Next
End Sub
Sub WriteCSV(WrtData() As String, ColCnt As Integer, BKcntr As Integer)
Dim i As Integer
Dim HldStr As String
Dim cntr As Long
Open Direct & CsvFile For Output As #1
For i = LBound(WrtData) To UBound(WrtData) Step ColCnt + 1
If i < UBound(WrtData) Then
For cntr = 0 To ColCnt + 1
If cntr = 0 Then
HldStr = Chr(34) & CStr(i / (ColCnt + 1)) & Chr(34) & ","
Else
HldStr = HldStr & Chr(34) & WrtData(i + cntr - 1) & Chr(34) & ","
End If
Next
Print #1, Left(HldStr, Len(HldStr) - 4)
HldStr = vbNullString
End If
Next
Close #1
ImportToAccess Direct & CsvFile, BKcntr
End Sub
Sub ImportToAccess(iFile As String, i As Integer)
Dim DB As New Access.Application
On Error GoTo NoDB
DB.OpenCurrentDatabase Direct & DataBase
DB.DoCmd.TransferText acImportDelim, , NewTabelName & CStr(i), iFile, False
DB.CloseCurrentDatabase
Set DB = Nothing
On Error GoTo 0
Exit Sub
NoDB:
If Err.Number = 7866 Then
Err.Clear
DB.NewCurrentDatabase Direct & DataBase
Resume Next
Else
MsgBox "An Unknown Error has occured!" & Err.Description
Err.Clear
End
End If
End Sub
Function CheckForDirectory()
Dim IsThere As String
On Error GoTo Gone
CheckForDirectory = False
IsThere = Dir(Direct & "*.*", vbDirectory)
If IsThere = vbNullString Then
MkDir Left(Direct, Len(Direct) - 1)
CheckForDirectory = True
Else
CheckForDirectory = True
End If
On Error GoTo 0
Exit Function
Gone:
MsgBox "An Error has occured With the Directory. Most probabal cause - Directory Does Not Exist - Cannot be created."
On Error GoTo 0
Err.Clear
End Function
|