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

я использовал стандартный мастер записи макросов и у меня получилось следующее
Код
1
2
3
4
5
6
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
 
Код
1
2
3
4
5
6
Sub SVS_invoice()
 
ActiveWorkbook.SaveAs filename:= _
Left(ActiveWorkbook.FullName, InStr(ActiveWorkbook.FullName, ".") - 1), _
FileFormat:=xlCSV, CreateBackup:=False
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
или так
Код
1
2
3
4
5
6
7
8
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
Добавляю туда макрос, но в итоге корректно он работает только с этим файлом, с остальными же макрос не работает.
Так же важное условие, чтоб после отработки макроса оставалась открытой та же книга, что и да начала его работы.


Вот этот работает почти как надо, но только не для всех файлов:
Код
1
2
3
4
5
6
7
8
9
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
 
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
Читают тему
Loading...