Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 10:55   #11
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

Вот еще вариант.
Вложения
Тип файла: zip Копия Помощь!.zip (56.2 Кб, 24 просмотров)
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 15.06.2009, 14:49   #12
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

Попробую прикрутить к своим данным.
Спасибо большое.
Zhiltsov вне форума Ответить с цитированием
Старый 22.06.2009, 13:44   #13
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

Sub ExporXML()
Application.DisplayAlerts = False: Application.ScreenUpdating = False
'MsgBox "Макрос экспорта временно отсутсвует"
Dim Filename As Variant
Dim Rng As Range
Dim r As Long, c As Long

Set Rng = Range("XML_spisok")


For r = 3 To Rng.Rows.Count

'Пока диалог но можно сделать без всяких вопросов

Filename = Application.GetSaveAsFilename(Initi alFileName:="c:\xml\xadvapl" & Rng(r, 3) & "_" & Right(CStr(100000 + Rng(r, 6)), 5), _
fileFilter:="XML Files (*.xml), *.xml")

If Filename = False Then Exit Sub

Open Filename For Output As #1
___________________________________
Как сделать чтобы файлы сохранялись не в папку по умолчанию,а например в C:\XMLOW, причем если данная папка отсутствует то она автоматически создавалась и при этом без запроса о сохранении?

Последний раз редактировалось Zhiltsov; 22.06.2009 в 13:49.
Zhiltsov вне форума Ответить с цитированием
Старый 22.06.2009, 15:48   #14
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Первой строкой в макросе ставим
Код:
On Error Resume Next: MkDir "C:\XMLOW"
И заменяем
Код:
Filename = Application.GetSaveAsFilename( _
                   InitialFileName:="c:\xml\xadvapl" & Rng(r, 3) & "_" & Right(CStr(100000 + Rng(r, 6)), 5), _
                   fileFilter:="XML Files (*.xml), *.xml")

        If Filename = False Then Exit Sub
на
Код:
Filename = "C:\XMLOW\xadvapl" & Rng(r, 3) & "_" & Right(CStr(100000 + Rng(r, 6)), 5)
PS: И за одним уж можете заменить загадочный код Right(CStr(100000 + Rng(r, 6))
на что-нибудь вроде этого: Format(Rng(r, 6), "00000")
EducatedFool вне форума Ответить с цитированием
Старый 22.06.2009, 16:55   #15
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

Не получается, файл должен сохраняться в XML формате.
Zhiltsov вне форума Ответить с цитированием
Старый 22.06.2009, 17:01   #16
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Ну тогда не
Код:
Filename = "C:\XMLOW\xadvapl" & Rng(r, 3) & "_" & Right(CStr(100000 + Rng(r, 6)), 5)
а
Код:
Filename = "C:\XMLOW\xadvapl" & Rng(r, 3) & "_" & Right(CStr(100000 + Rng(r, 6)), 5) & ".xml"
EducatedFool вне форума Ответить с цитированием
Старый 23.06.2009, 10:38   #17
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

Отлично! Все работает! А можно добавить диалог, чтобы перед записью в каталог XMLOW файлов он проверял есть ли там файлы или нет и если есть предлагал бы очистить папку ("ДА" "НЕТ")
Zhiltsov вне форума Ответить с цитированием
Старый 23.06.2009, 11:04   #18
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    Folder = "C:\XMLOW\": Mask = "*.*": Filename = Dir(Folder & Mask)
    msg = "Удалить все файлы из папки " & Folder & " перед продолжением?"

    If Len(Filename) Then
        If MsgBox(msg, vbQuestion + vbYesNo, "Что делать?") = vbYes Then
            While Filename <> ""
                Kill Folder & Filename: Filename = Dir
            Wend
        End If
    End If
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 23.06.2009, 12:46   #19
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
Радость

Все работает. Спасибо!
Zhiltsov вне форума Ответить с цитированием
Старый 02.07.2009, 08:57   #20
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Ну тогда не
Код:
Filename = "C:\XMLOW\xadvapl" & Rng(r, 3) & "_" & Right(CStr(100000 + Rng(r, 6)), 5)
а
Код:
Filename = "C:\XMLOW\xadvapl" & Rng(r, 3) & "_" & Right(CStr(100000 + Rng(r, 6)), 5) & ".xml"
Тут начали тестировать эти файлы, оказывается файлы должны быть в XML формате но при этом иметь расширение равное номеру дня с начала года (юлианская дата)
Это можно как нибудь реализовать?
Zhiltsov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт и экспорт из и в Delphi Anyuta БД в Delphi 4 15.12.2008 13:56
экспорт/импорт реестра TaTT DoGG Общие вопросы Delphi 4 05.11.2008 14:51
импорт и экспорт ГОСЕАН БД в Delphi 8 27.02.2008 02:55