View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default want to save a copy as text , not save the original as text

..SaveCopyAs means what it says. It saves a copy of the existing workbook--it
keeps the same fileformat.

One way around this is to copy the worksheet to a new workbook and then save the
..txt file from there.

Sub saveIndesign()

Const fPath As String = "Mac OS X:"
Dim fName As String
Dim myFileName As String
dim Wks as worksheet

myFileName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & _
Format(Now, "yyyymmdd_hhmmss") & ".txt"

fName = fPath & myFileName

activesheet.copy 'to a new workbook
set wks = activesheet 'that sheet in the new workbook

Application.DisplayAlerts = False
wks.parent.SaveAs Filename:=fName, FileFormat:=19
Application.DisplayAlerts = True

'close that new workbook
wks.parent.close savechanges:=false

MsgBox "File Saved to " & fName
End Sub

(Untested, uncompiled)

And you may want something else besides the activesheet copied.



Janis wrote:

I want to save a copy as text not the file itself.
Currently this macro works and saves a text mac file "19". If I change it to
saveCopyAs it doesn't work. It does the same thing if I change it to
another file type
so I don't think it has anything to do with the file type.
I don't want to destroy the workbook but I need to save a copy as text.
Why doesn't saveCopyAs work instead of SaveAs?

Sub saveIndesign()
'Appends date to filename so as to not write over an existing file

' saveIndesign Macro

Const fPath As String = "Mac OS X:"
Dim fName As String
Dim myFileName As String
myFileName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) &
Format(Now, "yyyymmdd_hhmmss") & ".txt"

fName = fPath & myFileName
Application.DisplayAlerts = False
'do the save

ActiveWorkbook.SaveAs Filename:=fName, FileFormat:=19
Application.DisplayAlerts = True

MsgBox "File Saved to " & fName
End Sub
thanks,


--

Dave Peterson