Здравствуйте. Для сохранения рабочей книги Excel используется следующий код: [vba]
Код
Sub DiapazonSaveInXLFile() Dim iSource As Range, iFileName 'As Variant
Set iSource = ActiveSheet.Range("d2:f100")
With Application iFileName = .GetSaveAsFilename( _ FileFilter:="Excel Files (*.CSV), *.CSV", _ Title:="Введите имя файла") If iFileName <> False Then .ScreenUpdating = False .DisplayAlerts = False ' With .Workbooks.Add(xlWBATWorksheet) iSource.Copy Destination:=.Worksheets(1).Range("A1") .Close Filename:=iFileName, saveChanges:=True End With .DisplayAlerts = True ' .ScreenUpdating = True
Else
MsgBox "необходимо указать файл", , "" End If End With End Sub
[/vba]
Я изменил формат файла на csv и при открытии Excel выдает сообщение "Действительный формат открываемого файла отличается от указываемого его расширением имени файла" Как бы это поправить?
пардон. не ту ветку выбрал. перенесите пожалуйста
Здравствуйте. Для сохранения рабочей книги Excel используется следующий код: [vba]
Код
Sub DiapazonSaveInXLFile() Dim iSource As Range, iFileName 'As Variant
Set iSource = ActiveSheet.Range("d2:f100")
With Application iFileName = .GetSaveAsFilename( _ FileFilter:="Excel Files (*.CSV), *.CSV", _ Title:="Введите имя файла") If iFileName <> False Then .ScreenUpdating = False .DisplayAlerts = False ' With .Workbooks.Add(xlWBATWorksheet) iSource.Copy Destination:=.Worksheets(1).Range("A1") .Close Filename:=iFileName, saveChanges:=True End With .DisplayAlerts = True ' .ScreenUpdating = True
Else
MsgBox "необходимо указать файл", , "" End If End With End Sub
[/vba]
Я изменил формат файла на csv и при открытии Excel выдает сообщение "Действительный формат открываемого файла отличается от указываемого его расширением имени файла" Как бы это поправить?
пардон. не ту ветку выбрал. перенесите пожалуйстаZoor
Сообщение отредактировал Zoor - Пятница, 10.03.2017, 00:24
гдето видел похожее. исправлялось так If LCase$(Right$(Filename, 3)) = "csv" Then ft = xlExcel8 Else ft = xlOpenXMLWorkbook но я с vba не дружу и простым копированием не помогает)
гдето видел похожее. исправлялось так If LCase$(Right$(Filename, 3)) = "csv" Then ft = xlExcel8 Else ft = xlOpenXMLWorkbook но я с vba не дружу и простым копированием не помогает)Zoor
Сообщение отредактировал Zoor - Пятница, 10.03.2017, 21:22