Открыть текстовый файл в excel на vba

Данные функции предназначены для работы с текстовыми файлами из VBA Excel.

Используя эти функции, вы при помощи одной строки кода сможете записать текст из переменной в файл, или наоборот, загрузить содержимое текстового файла в переменную.
Подразумевается, что текстовые файлы имеют формат ANSI (он же ASCII, он же windows-1251)

Чтение текстового файла в переменную:

Function ReadTXTfile(ByVal filename As String) As String
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.OpenTextFile(filename, 1, True): ReadTXTfile = ts.ReadAll: ts.Close
    Set ts = Nothing: Set fso = Nothing
End Function

Запись в текстовый файл из переменной:

Function SaveTXTfile(ByVal filename As String, ByVal txt As String) As Boolean
    On Error Resume Next: Err.Clear
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.CreateTextFile(filename, True)
    ts.Write txt: ts.Close
    SaveTXTfile = Err = 0
    Set ts = Nothing: Set fso = Nothing
End Function

Добавление в текстовый файл из переменной:

Function AddIntoTXTfile(ByVal filename As String, ByVal txt As String) As Boolean
    On Error Resume Next: Err.Clear
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.OpenTextFile(filename, 8, True): ts.Write txt: ts.Close
    Set ts = Nothing: Set fso = Nothing
    AddIntoTXTfile = Err = 0
End Function
  • 107157 просмотров

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.

Открытие текстового файла из кода VBA Excel с помощью метода OpenTextFile объекта FileSystemObject. Синтаксис и параметры метода OpenTextFile.

OpenTextFile – это метод объекта FileSystemObject, который открывает указанный текстовый файл и создает объект TextStream, обеспечивающий последовательный доступ к файлу для чтения, записи или добавления данных.

object.OpenTextFile (filename, [iomode], [create], [format])

object – экземпляр объекта FileSystemObject.

Параметры метода OpenTextFile

Параметр Описание
filename Имя открываемого файла, включая путь к нему. Строковое выражение. Обязательный параметр.
iomode Параметр, задающий режим ввода-вывода для открытого файла. ForReading (1) – только для чтения, ForWriting (2) – только для записи, ForAppending (8) – для добавления данных в конец файла. Необязательный параметр. По умолчанию – только для чтения.
create Параметр, задающий, можно ли создать новый файл, если файл, указанный параметром filename, не существует. Значение типа Boolean. True – новый файл будет создан, False – нет. Необязательный параметр. По умолчанию – False.
format Параметр, задающий в каком формате будет открыт файл. TristateUseDefault (-2) – в формате настроек системы по умолчанию, TristateTrue (-1) – в формате Юникод, TristateFalse (0) – в формате ASCII. Необязательный параметр. По умолчанию – в формате ASCII.

Пример открытия текстового файла

Создайте на диске «C» текстовый файл с именем testfile.txt, запишите в него что-нибудь, сохраните и закройте. Следующая процедура откроет файл testfile.txt, считает весь текст и отобразит его в информационном окне MsgBox:

Sub Primer()

Dim fso, fl

‘Создаем новый экземпляр объекта FileSystemObject

Set fso = CreateObject(«Scripting.FileSystemObject»)

‘Присваиваем переменной fl новый объект TextStream,

‘связанный с открытым для чтения файлом

Set fl = fso.OpenTextFile(«C:testfile.txt»)

‘Считываем весь текст из файла и

‘отображаем в информационном окне

MsgBox fl.ReadAll

‘Закрываем файл

fl.Close

End Sub

Используемые переменные:

  • fso – экземпляр объекта FileSystemObject;
  • fl – экземпляр объекта TextStream, связанный с открытым для чтения файлом.

Возможно у вас на диске «C» уже есть текстовый файл с именем testfile.txt, если вы его создавали с помощью процедуры из примера в статье VBA Excel. Метод CreateTextFile.

Visual Basic for Applications (VBA) is a frequently used utility for Microsoft applications — including Microsoft Excel, Office, PowerPoint, Word, and Publisher. As VBA is a fairly complicated language to learn, much has been written about it and its capabilities (and if you want to learn more about VBA and Excel, you can read about it here).

One of the most basic tasks you can use VBA for is to open and manipulate files, such as an Excel file. VBA open files will open the Excel file — from there you can control how it is read and written. Commonly, you would use VBA code to open the file, and then use Excel VBA macros to write to the file. 

Let’s take a deeper look into how VBA open files can be used with an Excel Workbook.

What is VBA Open Files and how does it work?

VBA is extremely similar to Visual Basic, a programming language used within the Microsoft ecosystem. It is used to create “macros.” A macro is a sequence of automated events which can fine-tune, optimize, automate, and improve your operations. The Excel VBA implementation can open files and run macros on them.

In Excel, you use VBA by inserting the code in the Visual Basic Editor. You can also choose the “Macro” button on the Developer Tab. From there, you will enter in code as though programming.

Before you start digging into VBA, you should have some understanding of programming. Programming means directing a computer to perform a certain sequence of events. Keep a few things in mind:

  • You should always test your programming thoroughly to make sure it does what you want it to do.
  • You should never implement your programming in a “live” environment with important data rather than test data.
  • You should save your work frequently and you should be prepared to restore both your programming and your data if needed.
Person wearing headphones looking at laptop screen and typing

Running the macros you program

When macros are created, they’re assigned to given keypresses. Sometimes this is a combination of keys, and sometimes it’s an extra mouse button. Regardless, they’re intended to set off an automated chain of events whenever you do the given action (whether it’s pressing a key on your keyboard, or a button on your mouse). You can also run a macro manually by selecting it.

So, when you run a macro, you have Microsoft Excel already open. The macro runs within Excel, and you will do all your VBA programming inside of that program. Likewise, you will do your Microsoft Word VBA programming inside of Microsoft Word.

Opening an Excel file with VBA

The first step to updating, modifying, and saving Excel files is to be able to open them. To open an Excel file with VBA you would program as follows:

Sub openworksheet()
	Workbooks.Open filename:= _ “filepath”
	End sub

The “sub” above is a lot like a function. It creates a small amount of code that is intended to take action. It begins with “Sub” and ends with “End Sub.”

In the above code, note that the italicized “filepath” references the full path of the workbook. Without the appropriate Workbooks.Open filename, you won’t be able to open the given file. You will also need the appropriate file type (Microsoft Excel, which is either XLS or XLSX) or the open method will fail.

Of course, the above assumes that you are always going to be opening the Workbook at the “filepath.” You might also want to open any file at all. You can create a macro that opens a dialog, through which you can select any file.

	Sub openworksheet()
	Dim Flocation as Variant
	Flocation = Application.GetOpenFileName()
	If Flocation <> false then 
	Workbooks.Open Filename:= Flocation
	End If
	End Sub

The above code prompts the user to give a file name. If the user does give a file name (the variable, Flocation is no longer false), then the program will open that file.

Also note that Flocation is just the name of the variable that’s being used. You could call it something else; in fact, you could even call it just “f.” All that’s important is that you don’t use a word that the code already uses, such as “Variant” or “Filename.”

You might also be wondering why this code is so important. After all, you can open your own files at any time. But you can bind it to a specific keypress, making it a macro. So, now, typing something like “F8” will automatically open the “open a file” dialog.

But once you’ve automatically opened a file, what’s next? Generally, opening the file is only the first step. Once you’ve opened the Excel file, you still need to be able to read and write to it.

Reading the Excel file

You’ve opened your Excel file. But what’s inside of it? Luckily for you, it’s pretty easy to start reading an Excel file once you’ve opened it with VBA.

First, you should know that when you open a file, it becomes the ActiveWorkbook, which can be referenced in code as “ActiveWorkbook.”

Let’s say you want to read the first cell of the book.

Dim contents As Integer
	contents = ActiveWorkbook.Range(“A1”).value

Now, that does assume that the cell is an Integer. You would need to change it to a String if you were reading a string, or a Date if you were reading a Date. Consequently, you need to be really familiar with the type of data you’re reading before you go any further.

Now, note that this is reading the contents of the cell into just a variable. That’s not displaying it. That’s not doing anything with it at all. If you wanted to see, perhaps, what the contents were, you would then type:

MsgBox contents

Alternatively, you could:

MsgBox ActiveWorkbook.Range(“A1”).value

Either of these options should display the value. But, of course, it’s a static value; it’s always going to display A1. So, you might need to code things a little more expressively if you’re trying to read the entirety of a document, or if you’re trying to transition one document to another.

Writing to the file

So, you have your workbook open through the power of VBA. But now you want to write to the file. Writing can be used in tandem with reading; once the Workbook is open you could do both. 

As an example, you could write a macro that would open a Workbook and copy one column to another column, by reading the data in the first column and then writing that data to the second column.

Similarly, you could write a macro that would open two Workbooks and copy data from one to another, and then save both Workbooks, and then close both Workbooks.

As mentioned, once you open a workbook with VBA, the workbook that you opened becomes the ActiveWorkbook. This also happens if you have created a new workbook within VBA.

You can then access its data through:

ActiveWorkbook.Sheets
ActiveWorbook.Cells

As an example, if you wanted to edit the cell at column 1, row 1, on Sheet 1, you would write as follows:

ActiveWorkbook.Sheets(“Sheet 1”).Cells(1,1).Value= “1”

If this is confusing, you can also use the “Range” field.

ActiveWorkbook.Sheets(“Sheet 1”).Range(“A1”).Value= “1”

The above would have the same result.  

Writing to a sheet can become very complex. Consider that, when you’re writing the macro system, you don’t know what data is in those cells. You only know their positions. You’re essentially writing to that position blindly.

Macros are frequently used to do things such as read CSV files and import that CSV information into a brand new Microsoft Excel workbook. But it takes a lot of time and a lot of testing to ensure that the data is going through correctly.

In the above case, you’re only altering range A1. But you could iterate through all the rows and columns of a workbook one by one if you were trying to fill it out line by line. As you learn more about Excel and VBA, you will learn more advanced methods of both reading and writing data.

Saving the Excel workbook file

Just like when you’re using Excel regularly, you still need to save your changes. If you have opened and changed a Workbook, save it before you close it. 

ActiveWorkbook.Save

You could even write a Macro that would save all your workbooks and close them, as follows:

For each workbook in Application.Workbooks
		workbook.Save
	Next workbook
		Application.Quit

The above code iterates through each Workbook saving it until it cannot find a Workbook anymore. Once it can no longer find a Workbook, it quits the application. This is very useful for those who want to shut down fast and have a lot of workbooks left to save.

Closing the selected file

Closing the file is just as easy as opening a workbook. In fact, it’s actually easier, because you don’t need to know the file name. VBA already knows which file it has opened.

To close the Excel file you would type:

ActiveWorkbook.Close

On the other hand, perhaps you wanted to close a specific Workbook. In that case, you would use the following:

Workbooks(“book.xlsx”).Close

This is under the assumption the book was called “book.xlsx”; you would replace the given name for your sheet. Once you have closed the Workbook, you will not be able to make any further modifications to it until you open it again.

Opening a Microsoft Excel workbook that is password protected

Sometimes you may have password-protected your workbooks. That goes into more complicated territory. Understandably, it’s not going to open if you just try to directly open it. 

But you can still open it with VBA.

Workbooks.Open(filename:= “filename”, Password:= “password”)

As you can see above, you just added the password directly into the macro. Now the file is going to open just fine.

But there’s a problem with the above, which (if you’re good with security) you already know. You just saved your password as plain text! 

Now, anyone with access to your computer could potentially open that file without knowing the password. And if you’ve been using that password for multiple files (a big no-no), they could be compromised, too.

So, VBA does provide a method of opening files that have a password. But it’s not a good method because of the above reasons. It means that your system could be compromised. If you just have a password to prevent outside intrusion (the file being sent somewhere else and opened by an outsider), this may not be a problem. But if you’re trying to protect your file internally as well as externally, it can be a major issue.

The alternative is to use the previous method of opening a file with a dialogue box. When you press a button (or otherwise launch your macro), you’ll be given a dialogue box, and you’ll be able to open whatever file you want. Your macro can then continue actions on the file after you have manually entered your password. 

Opening a read-only file

Some Microsoft Excel files don’t have a password when you open them. Instead, they are set to read-only. If they’re set to read-only, you’ll be able to open and read from them. But you won’t be able to actually write to them without a secondary password. 

ActiveWorkbook.Password = “password”

Above is the method that you would call after you’ve opened the book so that you can start to write to it. You wouldn’t include the password when opening the file, because you wouldn’t have been prompted for it then.

The benefits of using Excel VBA Open

VBA is used to automate routine, mundane tasks, such as copying large volumes of data from one book to another. Any time you’re finding yourself spending hours just copying and pasting data, or running fairly mundane calculations, a macro can help.

You can also use VBA to automate smaller tasks that you find use a lot of keypresses. If you find yourself frequently needing to open the same 10 Excel Workbooks at once, for instance, you can create a macro that will open all of them on a single keypress, and close them all, too.

While it may only save you a few minutes of time, those minutes of time add up.

Potential issues with Excel VBA Open

It’s possible to run into issues with VBA open. If you have a protected workbook, you won’t be able to open it without the password (as noted). If you don’t have the password, you aren’t going to be able to open the file.

If the selected file is read-only, you aren’t going to be able to write to it without the right permissions. If you don’t realize that the file is read-only, you could try writing to it only for the action to fail. 

And because you can’t always see what the macro is doing until you run it, you can potentially overwrite data or delete it altogether. This is why it’s always important to test your macros with test data before trying to implement it with live data.

But even so, Excel VBA open is a robust language. Most common activities with Workbooks (such as opening, closing, reading, writing, and saving) can be completed quite intuitively and often with a single line of code.

Learning more about Excel VBA

In the right hands, VBA is very powerful. If you have any automated, routine tasks in Excel, consider automating them with Excel VBA. Even better, once you learn the basics of VBA, you can also use it in other Microsoft applications such as Microsoft Word.

Still, powerful also means that mistakes can be made. Because VBA can open files and write to them, it’s also possible that it can overwrite data. This is why testing your programming is so important. 


Frequently Asked Questions:

Can a macro open a file?

The Excel Macro can be used to prompt a user to open a file or to open a specific file (given the entire filename). 

How do I open a text file in Excel VBA?

The VBA OpenTextFile method can be used to open a text file, just as the VBA Workbooks.Open method is used to open an Excel file.

How do I open a new workbook in VBA?

To open a new workbook in VBA, you would use the Workbooks.Add() VBA function. This function both creates a new workbook and prioritizes it as the active workbook.

В нынешнее время использование текстовых файлов для обмена данными или хранения данных становится редкостью, но тем не менее, все еще встречается. Приведу два варианта чтения текстового файла из VBA. Каждый способ может быть полезен в своей ситуации.

Способ 1. Открытие (чтение) текстового файла целиком

Можно открыть текстовый файл без учета каких-либо разделителей, сплошным текстом:

Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks.Open("имя_файла")

либо, если используются разделители колонок, можно их задействовать:

Открытие текстового файла с разделителем Tab:

Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks
wb.OpenText Filename:="имя_файла", DataType:=xlDelimited, Tab:=True

Открытие текстового файла с разделителем ; (точка с запятой):

Set objExcel = New Excel.Application
Set wb = objExcel.Workbooks
wb.OpenText Filename:="имя_файла", DataType:=xlDelimited, Other:=True, OtherChar:=";"

В параметрах можно так же добавить Origin:=xlMSDOS, если текстовый файл в DOS-кодировке.

После открытия файла, его можно пройти как обычные ячейки Excel-кого листа.

Способ 2. Чтение текстового файла построчно

Здесь используется классический вариант чтения как в большинстве языков программирования: открытие файла, цикл чтения построчно, закрытие файла.

f = FreeFile
Open "имя_файла" For Input As #f
Do While Not EOF(f)
  Line Input #f, s
  ' что-нибудь делаем с полученной строкой s
Loop
Close f

В первой строке определяем число, представляющее следующий номер файла, доступный для использования оператором Open. Затем открываем файл, после чего делаем цикл в котором происходит построчное чтение.

Содержание

  1. Метод OpenTextFile
  2. Синтаксис
  3. Settings
  4. Замечания
  5. См. также
  6. Поддержка и обратная связь
  7. Оператор Open
  8. Синтаксис
  9. Замечания
  10. Пример
  11. См. также
  12. Поддержка и обратная связь
  13. Метод Workbooks.OpenText (Excel)
  14. Синтаксис
  15. Параметры
  16. Замечания
  17. Пример
  18. Поддержка и обратная связь

Метод OpenTextFile

Открывает указанный файл и возвращает объект TextStream , который можно использовать для чтения, записи в файл или добавления к нему.

Синтаксис

object. OpenTextFile (filename, [ iomode, [ create, [ format ]]])

Синтаксис метода OpenTextFile состоит из следующих элементов.

Part Описание
object Обязательно. Всегда имя объекта FileSystemObject.
Имени файла Обязательно. Строковое выражение, определяющее файл, который будет открыт.
iomode Необязательный параметр. Указывает режим ввода-вывода. Может соответствовать одной из трех констант: ForReading, ForWriting или ForAppending.
создать Необязательный параметр. Значение типа Boolean, которое указывает, можно ли создать новый файл, если файл, указанный параметром filename, не существует. Значение True позволяет создать новый файл, а значение False — нет. По умолчанию используется значение False.
format Необязательный параметр. Одно из трех значений Tristate, используемых, чтобы указать формат открытого файла. Если отсутствует, открытый файл имеет формат ASCII.

Settings

Аргумент iomode может иметь любой из следующих параметров:

Константа Значение Описание
ForReading 1 Открытие файла только для чтения. Запись в этот файл невозможна.
ForWriting 2 Откройте файл только для записи. Используйте этот режим для замены существующего файла новыми данными. Невозможно выполнить чтение из этого файла.
ForAppending 8 Открытие файла и запись в конец файла. Невозможно выполнить чтение из этого файла.

Аргумент format может иметь одно из следующих значений.

Константа Значение Описание
TristateUseDefault –2 Открывает файл с помощью системного значения по умолчанию.
TristateTrue –1 Открывает файл в формате Юникод.
TristateFalse 0 Открывает файл в формате ASCII.

Замечания

В следующем коде показано использование метода OpenTextFile для открытия файла для добавления текста.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Оператор Open

Включает операции ввода-вывода для файла.

Синтаксис

ОткрытьpathnameДлярежима [ access ] [ lock ] As [ # ] filenumber [ Len = reclength ]

Синтаксис оператора Open состоит из следующих частей:

Part Описание
путь Обязательно. Строковое выражение, указывающее имя файла; может включать каталог или папку, а также диск.
Обязательно. Ключевое слово, задающее режим файла: Добавление, Двоичный, Ввод, Вывод или Прямой. Если элемент не задан, файл открывается для доступа в режиме Прямой.
Доступа Необязательный параметр. Ключевое слово, определяющее операции, разрешенные для открытого файла: Чтение, Запись или Чтение и запись.
Блокировки Необязательный параметр. Ключевое слово, определяющее операции, запрещенные для открытого файла другими процессами: Общий, Блокировка чтения, Блокировка записи и Блокировка чтения и записи.
filenumber Обязательно. Допустимый номер файла в диапазоне от 1 до 511 включительно. Используйте функцию FreeFile , чтобы получить следующий доступный номер файла.
reclength Необязательный параметр. Число меньше или равное 32767 (байт). Для файлов, открытых для прямого доступа это значение равно значению длины записи. Для файлов с последовательным доступом значение представляет собой число буферизуемых символов.

Замечания

Перед тем как выполнять операции ввода-вывода для файла, его необходимо открыть. Оператор Open выделяет для файла буфер для операций ввода-вывода и определяет режим доступа, который будет использоваться для буфера.

Если файл, заданный элементом pathname, не существует, он будет создан при открытии файла в режиме Добавление, Двоичный, Вывод или Прямой.

Если файл уже открыт другим процессом и указанный тип доступа не разрешен, операция Open завершается ошибкой.

Предложение Len игнорируется, если выбран режимДвоичный.

В режимах Двоичный, Вход и Случайный можно открыть файл, используя другой номер файла, не закрывая файл. В режимах Добавление и Вывод необходимо сначала закрыть файл, перед тем как открыть его с другим номером.

Пример

В этом примере показаны различные способы использования оператора Open для включения операций ввода и вывода для файла.

Следующий код открывает файл в режиме последовательного ввода.

В этом примере показано открытие файла в режиме «Двоичный» только для операций записи.

В следующем примере показано открытие файла в режиме «Прямой». Файл содержит записи определяемого пользователем типа.

В этом примере кода открывается файл для последовательных выходных данных; любой процесс может считывать или записывать в файл.

В этом примере кода файл открывается в двоичном режиме для чтения. другие процессы не могут прочитать файл.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Метод Workbooks.OpenText (Excel)

Загружает и анализирует текстовый файл как новую книгу с одним листом, содержащим проанализированные данные текстового файла.

Синтаксис

expression. OpenText (FileName, Origin, StartRow, DataType, TextQualifier, ПоследовательныйДелимитер, Tab, Точка с запятой, ПРОБЕЛ, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)

Выражение Переменная, представляющая объект Workbooks .

Параметры

Имя Обязательный или необязательный Тип данных Описание
FileName Обязательный String Указывает имя файла текстового файла, который необходимо открыть и проанализировать.
Происхождения Необязательный Variant Указывает источник текстового файла. Может быть одной из следующих констант XlPlatform : xlMacintosh, xlWindows или xlMSDOS. Кроме того, это может быть целое число, представляющее номер кодовой страницы требуемой кодовой страницы. Например, «1256» указывает, что исходный текстовый файл кодируется на арабском языке (Windows).

Если этот аргумент опущен, метод использует текущий параметр источника файла в мастере импорта текста. StartRow Необязательный Variant Номер строки, с которой начинается синтаксический анализ текста. Значение по умолчанию равно 1. DataType Необязательный Variant Задает формат столбца данных в файле. Может быть одной из следующих констант XlTextParsingType : xlDelimited или xlFixedWidth. Если этот аргумент не указан, Microsoft Excel пытается определить формат столбца при открытии файла. TextQualifier Необязательный XlTextQualifier Задает квалификатор текста. ПоследовательныйДелимитер Необязательный Variant Значение true , чтобы последовательные разделители считались одним разделителем. Значение по умолчанию — false. Вкладка Необязательный Variant Значение true , чтобы символ табуляции был разделителем (DataType должен быть xlDelimited). Значение по умолчанию — False. Точка с запятой Необязательный Variant Значение true , чтобы символ с запятой был разделителем (DataType должен быть xlDelimited). Значение по умолчанию — False. Запятой Необязательный Variant Значение true , чтобы символ запятой был разделителем (DataType должен быть xlDelimited). Значение по умолчанию — False. Space Необязательный Variant Значение true , чтобы символ пробела был разделителем (DataType должен быть xlDelimited). Значение по умолчанию — False. Other Необязательный Variant Значение true , чтобы символ, заданный аргументом OtherChar , был разделителем (DataType должен быть xlDelimited). Значение по умолчанию — False. OtherChar Необязательный Variant Требуется, если значение Other имеет значение True. Указывает символ разделителя, если значение Other имеет значение True. Если задано несколько символов, используется только первый символ строки; остальные символы игнорируются. Fieldinfo Необязательный Variant Массив, содержащий сведения для анализа отдельных столбцов данных. Интерпретация зависит от значения DataType. Если данные разделены, этот аргумент представляет собой массив массивов двухэлементных массивов, при этом каждый двухэлементный массив задает параметры преобразования для определенного столбца. Первый элемент — это номер столбца (на основе 1), а второй — одна из констант XlColumnDataType , указывающая способ синтаксического анализа столбца. TextVisualLayout Необязательный Variant Визуальный макет текста. DecimalSeparator Необязательный Variant Десятичный разделитель, который Microsoft Excel использует при распознавании чисел. По умолчанию используется системный параметр. ThousandsSeparator Необязательный Variant Разделитель тысяч, который Excel использует при распознавании чисел. По умолчанию используется системный параметр. TrailingMinusNumbers Необязательный Variant Укажите значение True , если числа с символом минус в конце должны рассматриваться как отрицательные числа. Если значение False или опущено, числа с символом минус в конце обрабатываются как текст. Local Необязательный Variant Укажите значение True , если региональные параметры компьютера должны использоваться для разделителей, чисел и форматирования данных.

Замечания

Параметр FieldInfo

Используйте xlEMDFormat , только если вы установили и выбрали поддержку тайваньского языка. Константа xlEMDFormat указывает, что используются даты тайваньской эры.

Описатели столбцов могут находиться в любом порядке. Если для определенного столбца во входных данных нет описателя столбца, то столбец анализируется с помощью параметра Общие.

В этом примере третий столбец анализируется как MDY (например, 10.01.1970), первый столбец анализируется как текст, а остальные столбцы в исходных данных анализируются с помощью параметра «Общие».

Если исходные данные содержат столбцы фиксированной ширины, первый элемент в каждом двухэлейном массиве задает положение начального символа в столбце (в виде целого числа; символ 0 (нуль) — первый символ). Второй элемент в массиве с двумя элементами задает параметр синтаксического анализа для столбца в виде числа от 0 до 9, как показано в предыдущей таблице.

Параметр ThousandsSeparator

В следующей таблице показаны результаты импорта текста в Excel для различных параметров импорта. Числовые результаты отображаются в крайнем правом столбце.

Системный разделитель десятичных разрядов Разделитель системных тысяч Десятичное значение разделителя Значение разделителя «Тысячи» Импортированный текст Значение ячейки (тип данных)
Period Запятой Запятой Period 123.123,45 123,123,45 (числовое значение)
Period Запятой Запятой Запятой 123.123,45 123.123,45 (текст)
Запятой Period Period Запятой 123,123.45 123,123,45 (числовое значение)
Period Запятой Period Запятой 123 123.45 123 123.45 (текст)
Period Запятой Period Space 123 123.45 123,123,45 (числовое значение)

Пример

В этом примере открывается файл Data.txt и используются разделители табуляции для синтаксического анализа текстового файла на листе.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Понравилась статья? Поделить с друзьями:
  • Открыть текстовый документ с помощью word
  • Открыть текст word онлайн
  • Открыть таблицу excel онлайн бесплатно
  • Открыть существующий документ ms word можно при помощи раздела меню
  • Открыть строку с формулами в excel