|
Создать файл...
|
|||
---|---|---|---|
#18+
Добрый вечер! Возможно ли сделать с помощью VBA следующие: 1) создать файл с расширением txt; 2) внести определенный объем информации в созданный файл; 3) сохранить фаил param.txt в C:\ ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2007, 21:51 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Да, возможно. На этом форуме, да и на всех других, очень много, наверное сотни, примеров. Например, на Relib.com. Сделай поиск на Microsoft Scripting Runtime и File System Object. VladConn ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2007, 22:06 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Вот часть кода, чтобы ты почувствовал, в каком ключе действовать: Dim objFSO As Scripting.FileSystemObject Dim objTextStream As Scripting.TextStream Set objFSO = New Scripting.FileSystemObject Set objTextStream = objFSO.OpenTextFile("C:\MyFile.txt", ForAppending, True, TristateFalse) objTextStream.WriteLine "My first and only (for now) test line!" objTextStream.Close ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2007, 22:11 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Неее, в том ключе действовать не надо. Надо действовать в другом ключе: Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 02:37 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Можно еще API использовать ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 05:57 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
White OwlНеее, в том ключе действовать не надо. Надо действовать в другом ключе: Код: plaintext 1. 2.
Как раз в том! FSO более новая технология, и проверочку на наличие файла в ней сделать элементарно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 10:25 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
baclanov Как раз в том! FSO более новая технология, и проверочку на наличие файла в ней сделать элементарно. зачем подключать дополнительно библиотеку, если есть встроенные команды, а проверку можно и Dir-ом сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 12:58 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
пасиб, вечером начну. О результатах сообщу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 13:02 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Как раз в том! FSO более новая технология, и проверочку на наличие файла в ней сделать элементарно.[/quot] Какая требуется библиотека? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 13:03 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Илья 812 Какая требуется библиотека? библиотека "Microsoft Scripting Runtime" Только лучше освой то, что белая сова написала. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 13:07 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
White OwlНеее, в том ключе действовать не надо. Надо действовать в другом ключе: Код: plaintext 1. 2.
White Owl, Спасибо за ценную мысль. Не забудьте поделиться вашей идеей с Microsoft, этими дурачками из Кремниевой Долины. :0))) VladConn ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 14:56 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
VladConn White OwlНеее, в том ключе действовать не надо. Надо действовать в другом ключе: Код: plaintext 1. 2.
Спасибо за ценную мысль. Не забудьте поделиться вашей идеей с Microsoft, этими дурачками из Кремниевой Долины. VladConn, для поставленной задачи приведенного выше примера вполне достаточно, при этом никаких лишних библиотек не используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 15:14 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
я что-то запамятовал, но если у чела VBA, может там нет команды OPEN ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 15:16 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
вот и я так думаю, что нечего огород городить из внешних библиотек :) PS это я ВладКону, без обид ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 15:37 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Всем привет. Сколько работаю, никогда не было проблем с этой библиотекой. А что, кому-то доставила неудобства? Вообще-то, я общаюсь в разноязычных форумах. Пока-что такое неприятие обнаруживаю исключительно на своих родных. В реальной жизни до этого никому нет дела. Всех интересует понятность и легкость поддержки кода, а также его надежность. Мой код с использованием ФСО еще никогда не ломался и не доставлял проблем заказчикам. Опять же, все претензии лучше направлять в фирму-производитель этой библиотеки. Может она непозволительно велика и в условиях дефицита места это важно? Вроде нет. Непопулярна, несовместима и требует усилий при кодировании? Не-а. Требует установки, а не простого копирования приложения? Так последнее не актуально. А, наверно она утилизирует об"ектную модель и использование классов... и вот это уже требует известного напряжения. Опять же, заметьте, я не критикую использование методов 15 летней давности. Хочется - пожалуйста. Но старые привычки мне, например, мешают в переходе на .NET. Лучше, на мой взгляд, все сразу писать в классах, использовать готовые об"екты и удобные библиотеки. За нас написано 90% процентов кода. Но я своего мнения не навязываю. Тем более оно не столько мое, как той самой фирмы, продуктами которой мы все пользуемся. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 22:58 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
VladConnВсем привет. Сколько работаю, никогда не было проблем с этой библиотекой.А кто-то говорил что с ней будут проблемы? Не будет конечно, но новичку гораздо проще разобраться в примере из трех строк чем в примере из шести (не считая пустых строк) с кучей непонятных параметров, опций и констант. Конечно ты можешь советовать новичку сразу браться за объектные библиотеки, классы и прочую прогрессивную фигню, но прости меня, ты хочешь помочь человеку или отпугнуть его? VladConnОпять же, заметьте, я не критикую использование методов 15 летней давности.Всего 15-и? :) Вообще-то, работа с файлами через open уже была в abasic и gwbasic. Может даже раньше появилась... То есть этим методам уже как минимум 20 лет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2007, 23:39 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Здесь столько дискуссии из-за маленького кода Я тоже приведу свое мнение ;-) Я согласен с VladConn при работе с текстовыми файлами я работаю только с FileSystemObject А методы Open тоже нужно знать, в плане общего образования ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2007, 07:27 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
кто лучше, Open или FSO??? кто-нибудь видел исходники сишной библиотеки iostream, где фактически все новые cout прописаны через тот же fprintf, который в свою очередь прописан через низкоуровневый write. чем бы вы не баловались, всем занимается VM. аффтопитезь ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2007, 09:35 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
VladConnВсем привет. Сколько работаю, никогда не было проблем с этой библиотекой. А что, кому-то доставила неудобства? Вообще-то, я общаюсь в разноязычных форумах. Пока-что такое неприятие обнаруживаю исключительно на своих родных. В реальной жизни до этого никому нет дела. Всех интересует понятность и легкость поддержки кода, а также его надежность. Мой код с использованием ФСО еще никогда не ломался и не доставлял проблем заказчикам. Опять же, все претензии лучше направлять в фирму-производитель этой библиотеки. Может она непозволительно велика и в условиях дефицита места это важно? Вроде нет. Непопулярна, несовместима и требует усилий при кодировании? Не-а. Требует установки, а не простого копирования приложения? Так последнее не актуально. А, наверно она утилизирует об"ектную модель и использование классов... и вот это уже требует известного напряжения. Опять же, заметьте, я не критикую использование методов 15 летней давности. Хочется - пожалуйста. Но старые привычки мне, например, мешают в переходе на .NET. Лучше, на мой взгляд, все сразу писать в классах, использовать готовые об"екты и удобные библиотеки. За нас написано 90% процентов кода. Но я своего мнения не навязываю. Тем более оно не столько мое, как той самой фирмы, продуктами которой мы все пользуемся. У меня тоже не было проблем с FSO. А разве с оператором Open были? (у меня нет) Нсчет неудобства, когда понимаешь код, нет никакого неудобства, да и неприятия тоже. А вот White Owl новичку гораздо проще разобраться в примере из трех строк чем в примере из шести (не считая пустых строк) с кучей непонятных параметров, опций и констант. - согласен на все сто Да насчет реалий. Вот тебе результат трех процедур 1-я Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
2-я Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
3-я Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
win2000 sp4 office2000 sp3 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2007, 09:39 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Да, приличная дисскусия получилась. Насчет скорости, конечно, согласен. Маленькое замечание: 1 метод: 0,3125 - С-диск и 0,4219 - сетевой. 3 метод: 0,0625 - С-диск и 1,3125 - сетевой. WinXP sp2 VB 6 sp6 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2007, 11:35 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
baclanov О как!!! сеть 1-й 0,375 3-й 0,90625 Теперь знаю где ипользовать FSO ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2007, 13:40 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
baclanovДа, приличная дисскусия получилась. Насчет скорости, конечно, согласен. Маленькое замечание: 1 метод: 0,3125 - С-диск и 0,4219 - сетевой. 3 метод: 0,0625 - С-диск и 1,3125 - сетевой. WinXP sp2 VB 6 sp6 интересный плюс в сторону FSO :) теперь точно буду знать чем лучше FSO от обычных методов ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2007, 05:14 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Народ извените, но я опьять поднимаю эту тему чтобы другие знали про все возможности. В VB есть еще свой (старый) движок (если нужно вести базу даных). Надо определить поля Public Type Tabl1 Pole1 as Strings*25 Pole2 as Integer Pole3 as byte Pole4 as Long end Type Процедура Dim TmpTbl as Tabl1 Open "d:\text.tmp" For Random As #1 Len=Len(TmpTbl ) ' Открываем файл в произвольном доступе Put #1, Номер_позиции, TmpTbl ' Сохраняем запись Get #1, Номер_позиции, TmpTbl ' Читаем запись Msgbox TmpTbl.Pole1 ' Так мы обращаемся к полю чтобы присвоить или опросить close 1 ' Закрываем файл Заметка: При присваиванию Pole1 типу Strings*25 текстового значения учтите что поле будет переменная будет иметь размер 25байт, тоисть пустое пространство будет заполнено пробелами. Полезный совет: 1. Для того чтобы удалить пробелы используйте функцию RTrim() или Trim() 2. Если у Вас часто возникает ошибка о повторном открытии файла и вы не можете отследить где именно вы забываете закрыть файл методом Close 1, то я Не рекомендую, но все таки возможно просто перед открытием лишний раз в холостую закрыть файл. Ошибки не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2007, 13:47 |
|
|
start [/forum/topic.php?fid=60&fpage=102&tid=2158729]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 171ms |
0 / 0 |