Страницы: 1
RSS
Макрос сохранения в .csv, сохранения пути оригинального файла и сохранения названия без учета расширения
 
Помогите пожалуйста настроить через макрос сохранения файлов в сsv

я использовал стандартный мастер записи макросов и у меня получилось следующее
Код
Sub SVS_invoice()

    ActiveWorkbook.SaveAs filename:= _
        "D:\Работа\Invois\Master\2016\Январь\Invoice\MCE_Invoice_01-31-2016_6250.csv", _
        FileFormat:=xlCSV, CreateBackup:=False
End Sub
Помогите его сделать универсальным
Что бы папка для сохранения файла = папке где находится файл ктороый я пытаюсь сохранить в csv
Что бы имя нового файла файла csv = имя файла который я пытаюсь сохранить в csv без учета расширения (было MCE_Invoice_01-31-2016_6250.xsl стало MCE_Invoice_01-31-2016_6250.csv
 
Код
Sub SVS_invoice() 

ActiveWorkbook.SaveAs filename:= _ 
Left(ActiveWorkbook.FullName, InStr(ActiveWorkbook.FullName, ".") - 1), _ 
FileFormat:=xlCSV, CreateBackup:=False 
End Sub 
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
или так
Код
Public Sub test()
Dim arrStr
Dim str1 As String

arrStr = Split(ThisWorkbook.Name, ".")
str1 = ThisWorkbook.Path & "\" & arrStr(0) & ".csv"
ActiveWorkbook.SaveAs filename:=str1 , FileFormat:=xlCSV, CreateBackup:=False
End Sub
Изменено: Udik - 19.10.2016 17:13:35
Арфы - нет, возьмите бубен.
 
Спасибо большое !!!! то что нужно
 
Использую excel 2010
Нужен подобный макрос который бы работал для всех книг excel
Создаю файл C:\Users\Jesprit\AppData\Roaming\Microsoft\Excel\XLSTART\perso­nal.xlsm
Добавляю туда макрос, но в итоге корректно он работает только с этим файлом, с остальными же макрос не работает.
Так же важное условие, чтоб после отработки макроса оставалась открытой та же книга, что и да начала его работы.


Вот этот работает почти как надо, но только не для всех файлов:
Код
Sub SaveCopyAs_() 
With Workbooks.Add 
ThisWorkbook.Activate 
ActiveSheet.Copy Before:=.Sheets(1) 
.SaveAs Filename:=ThisWorkbook.Path & "\" & Name & ".csv" _ 
, FileFormat:=xlCSV, CreateBackup:=False 
End With 
Application.SendKeys "^w~~~" 
End Sub
Помогите изменить его для работы со всеми файлами.
Изменено: Jesprit - 18.11.2016 07:33:39
 
Код
Option Explicit

Sub jjj_save_activesheet_copy_as_csv()
    Dim sPath As String
    
    sPath = ActiveWorkbook.Path
    If Len(sPath) > 0 Then sPath = sPath & Application.PathSeparator
    With CreateObject("Scripting.FileSystemObject")
        sPath = sPath & .GetBaseName(ActiveWorkbook.Name)
    End With
    
    ActiveSheet.Copy
    With ActiveWorkbook
        .SaveAs Filename:=sPath, FileFormat:=xlCSV
        .Close False
    End With
End Sub

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Jesprit, ThisWorkbook - это та КНИГА, где расположен ЭТОТ код.
Изменено: Hugo - 18.11.2016 14:21:01
 
JayBhagavan, а как бы модифицировать макрос и получить возможность выбора папки для сохранения.
Пытался поискать, но не могу осилить как такое встроить в этот макрос.
 
Jesprit, пожалуйста.
Цитата
2.6. Один вопрос - одна тема. Не следует в открываемой теме обозначать и задавать сразу несколько вопросов.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
Страницы: 1
Читают тему
Наверх