Страницы: 1
RSS
Сохранение нескольких файлов
 
Доброго времени суток!

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

Заранее спасибо!
Код
Sub Chegevara()
Dim MyFiles As String
MyFiles = Dir("D:\PhD\Moments\*.dat")
Do While MyFiles <> “”
Workbooks.OpenText "D:\PhD\Moments\" & MyFiles, Origin:=65001, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, _
        Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1)), _
        TrailingMinusNumbers:=True
        Range("C1").Select
    Selection.ClearContents
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]"
    Range("C1").Select
    ActiveWorkbook.SaveAs Filename:="D:\PhD\Moments\he.xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        MsgBox ActiveWorkbook.Name
ActiveWorkbook.Close SaveChanges:=False
MyFiles = Dir
Loop
End Sub
 
Не совсем понятна задача, нужно создать или переименовать?
"Все гениальное просто, а все простое гениально!!!"
 
И создать и сохранить.
Этот макрос открывает текстовые файлы в папке, делает вычисления и нужно каждый открытый файл сохранить как эксэлевский файл. Вот.
 
Текстовой файл сохранить как екселевский? а пример можно исходника и то что получится должно?
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
Nordheim написал:
Текстовой файл сохранить как екселевский?
Да, открытые фалйы текстовые сохранять как экселевские.
 
Код
Filename:= "D:\PhD\Moments\" & Left(MyFiles, InStrRev(MyFiles, ".") - 1) & ".xlsm"
 
Ура! Работает! Спасибо, друг, большое тебе. Намучался...
 
ого RAN, вы дружбан уже:D  
Изменено: Mershik - 15.04.2021 17:23:34
Не бойтесь совершенства. Вам его не достичь.
 
"Дай лапу, друг, на счастье, мне"  :)
 
Лапу не могу, а руку бы пожал при встрече!
 
У меня лапки...
 
Цитата
RAN написал:
У меня лапки...
Не удается открыть файл, т.к. формат или расширение этого файла являются недопутсимыми :(
Сохранённые файлы не открываются! Помогите найти причину, пожалуйста.
Изменено: Vitalii Checha - 15.04.2021 18:55:43
 
Vitalii Checha, Я не зря изначально спрашивал пример исходника и того что получится, а по итогу, на сколько я знаю, если просто изменить .txt файл на
.xlsm, то получите ошибку, тут нужно считать информацию из файла записать в новую книгу Excel сохранить эту книгу а исходник удалить
"Все гениальное просто, а все простое гениально!!!"
 
Не выходит. Удаляю исходники - не открывает все равно. Что не так-то? Вот мой код:
Код
Dim MyFiles As String
MyFiles = Dir("D:\PhD\Moments\*.dat")
Do While MyFiles <> “”
Workbooks.OpenText "D:\PhD\Moments\" & MyFiles, Origin:=65001, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False, _
        Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1)), _
        TrailingMinusNumbers:=True
        Range("C1").Select
    Selection.ClearContents
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "=RC[-2]+RC[-1]"
    Range("C1").Select
    ActiveWorkbook.SaveAs Filename:="D:\PhD\Moments\" & Left(MyFiles, InStrRev(MyFiles, ".") - 1) & ".xlsm"
                MsgBox ActiveWorkbook.Name
ActiveWorkbook.Close SaveChanges:=False
MyFiles = Dir
Loop
 
Цитата
Vitalii Checha написал:
   ActiveWorkbook.SaveAs Filename:="D:\PhD\Moments\he.xlsm", FileFormat:= _        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Найди 2 отличия
 
Недопонял :) между чем и чем? В смысле это
Код
ActiveWorkbook.SaveAs Filename:="D:\PhD\Moments\he.xlsm", FileFormat:= _        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False   нужно вставить после этого   
ActiveWorkbook.SaveAs Filename:="D:\PhD\Moments\" & Left(MyFiles, InStrRev(MyFiles, ".") - 1) & ".xlsm"

Или как? Все равно не открывает. Как просто сохранить в обычном формате Эксель без всяких наворотов? Спасибо большое!
Страницы: 1
Наверх