![]() |
Importing a csv file
Hi everybody,
I need to import a csv file and I work fine with this recorded macro: Range("a1:j220").Select Selection.ClearContents Range("A1").Select With ActiveSheet.QueryTables.Add(Connection:= _ "text;f:\maurizio\web\biliardo\script\eccel.cs v", Destination:=Range("A4")) .Name = "eccel" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1252 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 2) .TextFileTrailingMinusNumbers = True .refresh BackgroundQuery:=True End With My problem is how to avoid to specify the full path of the csv file as the application is to be used by other users and the path might not be the same. Yes I know, everyone could match the path with its own machine but I was wondering if a smarter way to do it exists. Of course the csv file must be in the same application folder. thanks |
Importing a csv file
Possibly use the UNC as the file's address?
-- Regards Andy Wiggins www.BygSoftware.com Home of "Save and BackUp", "The Excel Auditor" and "Byg Tools for VBA" "Maurizio" wrote in message ... Hi everybody, I need to import a csv file and I work fine with this recorded macro: Range("a1:j220").Select Selection.ClearContents Range("A1").Select With ActiveSheet.QueryTables.Add(Connection:= _ "text;f:\maurizio\web\biliardo\script\eccel.cs v", Destination:=Range("A4")) .Name = "eccel" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1252 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 2) .TextFileTrailingMinusNumbers = True .refresh BackgroundQuery:=True End With My problem is how to avoid to specify the full path of the csv file as the application is to be used by other users and the path might not be the same. Yes I know, everyone could match the path with its own machine but I was wondering if a smarter way to do it exists. Of course the csv file must be in the same application folder. thanks |
Importing a csv file
This will allow the user to select a file from a browser window.
Dim FName As Variant FName = Application.GetOpenFilename(filefilter:="Text Files (*.csv), *.csv", _ MultiSelect:=False) With ActiveSheet.QueryTables.Add(Connection:= _ "text;"& FName, Destination:=Range("A4")) etc, etc Mike F "Maurizio" wrote in message ... Hi everybody, I need to import a csv file and I work fine with this recorded macro: Range("a1:j220").Select Selection.ClearContents Range("A1").Select With ActiveSheet.QueryTables.Add(Connection:= _ "text;f:\maurizio\web\biliardo\script\eccel.cs v", Destination:=Range("A4")) .Name = "eccel" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1252 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 2) .TextFileTrailingMinusNumbers = True .refresh BackgroundQuery:=True End With My problem is how to avoid to specify the full path of the csv file as the application is to be used by other users and the path might not be the same. Yes I know, everyone could match the path with its own machine but I was wondering if a smarter way to do it exists. Of course the csv file must be in the same application folder. thanks |
Importing a csv file
Great, this is the solution I was looking for.
Thank you Maurizio Camporesi "Mike Fogleman" wrote: This will allow the user to select a file from a browser window. Dim FName As Variant FName = Application.GetOpenFilename(filefilter:="Text Files (*.csv), *.csv", _ MultiSelect:=False) With ActiveSheet.QueryTables.Add(Connection:= _ "text;"& FName, Destination:=Range("A4")) etc, etc Mike F "Maurizio" wrote in message ... Hi everybody, I need to import a csv file and I work fine with this recorded macro: Range("a1:j220").Select Selection.ClearContents Range("A1").Select With ActiveSheet.QueryTables.Add(Connection:= _ "text;f:\maurizio\web\biliardo\script\eccel.cs v", Destination:=Range("A4")) .Name = "eccel" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 1252 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = True .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 2) .TextFileTrailingMinusNumbers = True .refresh BackgroundQuery:=True End With My problem is how to avoid to specify the full path of the csv file as the application is to be used by other users and the path might not be the same. Yes I know, everyone could match the path with its own machine but I was wondering if a smarter way to do it exists. Of course the csv file must be in the same application folder. thanks |
All times are GMT +1. The time now is 07:08 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com