Страницы: 1
RSS
открыть макросом xml файл в блокноте
 
доброго времени суток уважаемые форумчане
подскажите непутёвому возможность реализовать следующее:
- с помощью макроса открыть xml файл (name.xml) в блокноте
- в блокноте выделить все и удалить
- вставить ячейки A1:A30 в блокнот
- сохранить и закрыть файл
заранее благодарю
 
Цитата
assedo написал:
- в блокноте выделить все и удалить
А не проще просто удалить файл, без всякого блокнота?

В новый файл:
- вставить ячейки A1:A30
- сохранить и закрыть файл под именем удаленного файла
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Да проще просто открыть этот файл для записи и все: Файловые функции VBA
Метод Open ... Output все сделает без проблем.
Код
    Dim s As String, rc As Range
    Dim ff
    'запоминаем все значения диапазона в строку
    For Each rc In Range("A1:A30")
        If s = "" Then
            s = rc.Value
        Else 'если уже записано - добавляем в новую строку
            s = s & vbNewLine & rc.Value
        End If
    Next
    ff = FreeFile
    'Открываем файл
    'если файла нет - он будет создан, если есть - перезаписано его содержимое
    Open "C:\Users\User\Desktop\file.xml" For Output As #ff
    'записываем значение строки в файл
    Print #ff, s
    Close #ff ' Закрываем файл
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
Да проще просто открыть этот файл для записи и все
ну, я вот про это имел ввиду ▼
Цитата
assedo написал:
выделить все и удалить
проще просто файл удалить... Хотя, конечно, м.б. важна дата создания/корректировки и т.п. и т.д. и прпрпр файла... Тогда - да.
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
прошу прошения что не уточнил следующее
xml файл необходимо сохранить в кодировке UTF-8 со спецификацией и это достаточно проблематично тем более для человека не особо понимающего макрос
поэтому пользуюсь в ручную - копи массив - открыть xml в блокноте - удалить все - вставить массив - сохранить и закрыть

вот если решение Дмитрий(The_Prist) Щербаков, может создавать xml файл в UTF-8 со спецификацией, я бал бы счастлив, как и многие другие страждущие
 
Цитата
assedo написал:
может создавать xml файл в UTF-8 со спецификацией
ничего не понятно. Так надо очистить или создавать? Определитесь, что ли для начала... Предложенный мной код перезаписывает содержимое файла, но кодировка там ANSII, насколько мне известно. Для UTF-8 надо применять другие методы. Но надо для начала как минимум понять всю задачу, а не по частям, как она началась. Что за спецификая еще выплыла? Может Вы чего-то нам не договариваете? Может надо вообще библиотеки для работы XML использовать?
Цитата
assedo написал:
как и многие другие страждущие
это какие? Что-то не вижу вала мечтающих о такой же хотелке  :D  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
assedo написал:
сохранить в кодировке UTF-8
Как вариант
Код
Sub test()
Dim oStream
sFile = "C:\Users\Katalog\Desktop\file.xml"
Set oStream = CreateObject("ADODB.Stream")
With oStream
    .Open
    .Charset = "utf-8"
        For i = 1 To 30
            .WriteText Cells(i, 1), 1
        Next i
    .SaveToFile sFile, 2
End With
Set oStream = Nothing
End Sub
 
Александр П., Громаднейшее спасибо!
Страницы: 1
Наверх