|
Создать файл...
|
|||
---|---|---|---|
#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 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Вот Вам еще один пример которым я пользуюсь. Одним мгновением загружаю файл в переменную типа Variant или сохраняю из нее в файл. Я пока сохранял грабаные странички инета - их макс. размер был около 300Кб. Я не пробовал есть ли ограничения! Читаем быстро в переменную Dim SS as Variant Open NameFile For Input As #1 Maxn = FileLen(NameFile) 'Смотрим длину файла в байтах SS = Input$(Maxn, 1) ' Присваиваем переменной всю информацию из файла Close 1 Сохраняем Open NameFile For Output As #1 Print #1,SS Close 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2007, 13:59 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Хочу поделиться наблюдением (впользу FSO) две процедуры копирования файла первая Код: plaintext 1. 2.
вторая Код: plaintext 1. 2. 3. 4.
Так вот если файл открыт, то первая процедура выдает 70-ю ошибку: "нет доступа". А вторая копирует без проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2007, 15:32 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
vkodorХочу поделиться наблюдением (впользу FSO) FSO по-любому бэст... кста, можно подключить библиотеку классов "Microsoft Scripting Runtime" чтобы не мучаться... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2007, 15:42 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Проходящий vkodorХочу поделиться наблюдением (впользу FSO) FSO по-любому бэст... кста, можно подключить библиотеку классов "Microsoft Scripting Runtime" чтобы не мучаться... Это ты о чем? если об этом Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2007, 15:49 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
vkodor[quot VladConn]Вот тебе результат трех процедур 1-я Код: plaintext 1. 2. 3.
2-я Код: plaintext 1.
3-я Код: plaintext 1.
win2000 sp4 office2000 sp3 В сравнении допущена неточность, но при проверке результаты не изменились... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2007, 19:54 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Скажите а можно ли вписать в файл 2-ные кавычки? Если возможно то объясните пожалуйста как? Я хочу написать в созданном txt: Слово1 Слово2 "Слово3" Слово4 Но ничего не выходит ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2009, 17:32 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
> Автор: Sergey-maker > Скажите а можно ли вписать в файл 2-ные кавычки? Если возможно то > объясните пожалуйста как? > Но ничего не выходит А как пробуешь? chr(код кавычек) как вариант Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2009, 18:02 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
М? Я новичёк в этом деле, не сильно понимаю о чем Вы говорите. Пишу значит так: Dim fso, tf, WshShell set WshShell = WScript.CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") Set tf = fso.CreateTextFile("i:\test.txt", True) tf.WriteLine("тралля-ля "слово в кавычках" тралля-ля") 'вот тут как быть? tf.Close ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2009, 18:05 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
Это VBScript, а не VB ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2009, 18:07 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
А всё, с этим разобрался. А как файл удалить? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2009, 20:00 |
|
Создать файл...
|
|||
---|---|---|---|
#18+
ЛЮДИ ЕМУ НАДО ВЕДЬ ТОЛЬКО .txt для чего ему все это барахло... есть обект - Ritch Text Box м 6.0 и старых версиях в компонентах добавиш а в новой прямо есть в стандартных контрлях. у него есть метод - SaveFile. rtb.savefile("C:\param.txt") P.S. можеш диалоговую форму использовать: rtb.savefile (dialog.filename) типа так будет. Удачи!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2011, 02:09 |
|
|
start [/forum/topic.php?all=1&fid=60&tid=2158729]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 585ms |
0 / 0 |