Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Hi,
Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Hi Rob
Untested Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" If Not DirectoryExist(dirstr) Then MkDir dirstr wb.SaveAs dirstr & "\ron.xls" Else wb.SaveAs dirstr & "\ron.xls" End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Hi, Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Wake up ron
Here is the function that you need also Function DirectoryExist(sstr As String) 'Tom Oglivy Dim lngAttr As Long DirectoryExist = False If Dir(sstr, vbDirectory) < "" Then lngAttr = GetAttr(sstr) If lngAttr And vbDirectory Then _ DirectoryExist = True End If End Function -- Regards Ron de Bruin http://www.rondebruin.nl "Ron de Bruin" wrote in message ... Hi Rob Untested Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" If Not DirectoryExist(dirstr) Then MkDir dirstr wb.SaveAs dirstr & "\ron.xls" Else wb.SaveAs dirstr & "\ron.xls" End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Hi, Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Ron,
Thanks for this I was wondering why I couldn't find DirectoryExist in the help! Also, the following isn't working, MkDir dirstr Any ideas? Thanks, Rob "Ron de Bruin" wrote in message ... Wake up ron Here is the function that you need also Function DirectoryExist(sstr As String) 'Tom Oglivy Dim lngAttr As Long DirectoryExist = False If Dir(sstr, vbDirectory) < "" Then lngAttr = GetAttr(sstr) If lngAttr And vbDirectory Then _ DirectoryExist = True End If End Function -- Regards Ron de Bruin http://www.rondebruin.nl "Ron de Bruin" wrote in message ... Hi Rob Untested Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" If Not DirectoryExist(dirstr) Then MkDir dirstr wb.SaveAs dirstr & "\ron.xls" Else wb.SaveAs dirstr & "\ron.xls" End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Hi, Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Hi Rob
I test it now and it is working for me But you can't use dirstr = "C:\ron\excel" If ron not exist -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Ron, Thanks for this I was wondering why I couldn't find DirectoryExist in the help! Also, the following isn't working, MkDir dirstr Any ideas? Thanks, Rob "Ron de Bruin" wrote in message ... Wake up ron Here is the function that you need also Function DirectoryExist(sstr As String) 'Tom Oglivy Dim lngAttr As Long DirectoryExist = False If Dir(sstr, vbDirectory) < "" Then lngAttr = GetAttr(sstr) If lngAttr And vbDirectory Then _ DirectoryExist = True End If End Function -- Regards Ron de Bruin http://www.rondebruin.nl "Ron de Bruin" wrote in message ... Hi Rob Untested Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" If Not DirectoryExist(dirstr) Then MkDir dirstr wb.SaveAs dirstr & "\ron.xls" Else wb.SaveAs dirstr & "\ron.xls" End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Hi, Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Why not just use
Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" On Error Resume Next MkDir dirstr On Error GoTo 0 wb.SaveAs dirstr & "\ron1.xls" End Sub Does away with that DirectortyExist function -- HTH RP (remove nothere from the email address if mailing direct) "Rob" wrote in message ... Ron, Thanks for this I was wondering why I couldn't find DirectoryExist in the help! Also, the following isn't working, MkDir dirstr Any ideas? Thanks, Rob "Ron de Bruin" wrote in message ... Wake up ron Here is the function that you need also Function DirectoryExist(sstr As String) 'Tom Oglivy Dim lngAttr As Long DirectoryExist = False If Dir(sstr, vbDirectory) < "" Then lngAttr = GetAttr(sstr) If lngAttr And vbDirectory Then _ DirectoryExist = True End If End Function -- Regards Ron de Bruin http://www.rondebruin.nl "Ron de Bruin" wrote in message ... Hi Rob Untested Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" If Not DirectoryExist(dirstr) Then MkDir dirstr wb.SaveAs dirstr & "\ron.xls" Else wb.SaveAs dirstr & "\ron.xls" End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Hi, Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Hi Bob
Many ways to Rome I like this one Sub MakeDirectory() Dim Dirname As String Dim fs As Object Set fs = CreateObject("Scripting.FileSystemObject") Dirname = "C:\MyDir" If Not fs.FolderExists(Dirname) Then fs.CreateFolder Dirname Else ' do nothing End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Bob Phillips" wrote in message ... Why not just use Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" On Error Resume Next MkDir dirstr On Error GoTo 0 wb.SaveAs dirstr & "\ron1.xls" End Sub Does away with that DirectortyExist function -- HTH RP (remove nothere from the email address if mailing direct) "Rob" wrote in message ... Ron, Thanks for this I was wondering why I couldn't find DirectoryExist in the help! Also, the following isn't working, MkDir dirstr Any ideas? Thanks, Rob "Ron de Bruin" wrote in message ... Wake up ron Here is the function that you need also Function DirectoryExist(sstr As String) 'Tom Oglivy Dim lngAttr As Long DirectoryExist = False If Dir(sstr, vbDirectory) < "" Then lngAttr = GetAttr(sstr) If lngAttr And vbDirectory Then _ DirectoryExist = True End If End Function -- Regards Ron de Bruin http://www.rondebruin.nl "Ron de Bruin" wrote in message ... Hi Rob Untested Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" If Not DirectoryExist(dirstr) Then MkDir dirstr wb.SaveAs dirstr & "\ron.xls" Else wb.SaveAs dirstr & "\ron.xls" End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Hi, Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
#8
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Thanks Ron and Bob, both have given options that work. It'll be awhile
before I understand which is the preferred option! Rob "Ron de Bruin" wrote in message ... Hi Bob Many ways to Rome I like this one Sub MakeDirectory() Dim Dirname As String Dim fs As Object Set fs = CreateObject("Scripting.FileSystemObject") Dirname = "C:\MyDir" If Not fs.FolderExists(Dirname) Then fs.CreateFolder Dirname Else ' do nothing End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Bob Phillips" wrote in message ... Why not just use Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" On Error Resume Next MkDir dirstr On Error GoTo 0 wb.SaveAs dirstr & "\ron1.xls" End Sub Does away with that DirectortyExist function -- HTH RP (remove nothere from the email address if mailing direct) "Rob" wrote in message ... Ron, Thanks for this I was wondering why I couldn't find DirectoryExist in the help! Also, the following isn't working, MkDir dirstr Any ideas? Thanks, Rob "Ron de Bruin" wrote in message ... Wake up ron Here is the function that you need also Function DirectoryExist(sstr As String) 'Tom Oglivy Dim lngAttr As Long DirectoryExist = False If Dir(sstr, vbDirectory) < "" Then lngAttr = GetAttr(sstr) If lngAttr And vbDirectory Then _ DirectoryExist = True End If End Function -- Regards Ron de Bruin http://www.rondebruin.nl "Ron de Bruin" wrote in message ... Hi Rob Untested Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" If Not DirectoryExist(dirstr) Then MkDir dirstr wb.SaveAs dirstr & "\ron.xls" Else wb.SaveAs dirstr & "\ron.xls" End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Hi, Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
#9
Posted to microsoft.public.excel.programming
|
|||
|
|||
Save to directory and create if not exist
Probably not a preferred option, other than personal preference. FWIW, my
choice would not be to introduce FSO unless I had to, or unless the other code used some Excel specific function (which in this case it doesn't). -- HTH RP (remove nothere from the email address if mailing direct) "Rob" wrote in message ... Thanks Ron and Bob, both have given options that work. It'll be awhile before I understand which is the preferred option! Rob "Ron de Bruin" wrote in message ... Hi Bob Many ways to Rome I like this one Sub MakeDirectory() Dim Dirname As String Dim fs As Object Set fs = CreateObject("Scripting.FileSystemObject") Dirname = "C:\MyDir" If Not fs.FolderExists(Dirname) Then fs.CreateFolder Dirname Else ' do nothing End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Bob Phillips" wrote in message ... Why not just use Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" On Error Resume Next MkDir dirstr On Error GoTo 0 wb.SaveAs dirstr & "\ron1.xls" End Sub Does away with that DirectortyExist function -- HTH RP (remove nothere from the email address if mailing direct) "Rob" wrote in message ... Ron, Thanks for this I was wondering why I couldn't find DirectoryExist in the help! Also, the following isn't working, MkDir dirstr Any ideas? Thanks, Rob "Ron de Bruin" wrote in message ... Wake up ron Here is the function that you need also Function DirectoryExist(sstr As String) 'Tom Oglivy Dim lngAttr As Long DirectoryExist = False If Dir(sstr, vbDirectory) < "" Then lngAttr = GetAttr(sstr) If lngAttr And vbDirectory Then _ DirectoryExist = True End If End Function -- Regards Ron de Bruin http://www.rondebruin.nl "Ron de Bruin" wrote in message ... Hi Rob Untested Sub Test() Dim dirstr As String Dim wb As Workbook ActiveSheet.Copy Set wb = ActiveWorkbook With wb.Sheets(1).UsedRange .Value = .Value End With dirstr = "C:\my documents" If Not DirectoryExist(dirstr) Then MkDir dirstr wb.SaveAs dirstr & "\ron.xls" Else wb.SaveAs dirstr & "\ron.xls" End If End Sub -- Regards Ron de Bruin http://www.rondebruin.nl "Rob" wrote in message ... Hi, Does anyone have some sample code to help me achieve the following: copy a sheet to a new workbook with contents as values as opposed to formula, then save the new workbook in a directory (e.g. C:\my documents\) but if the directory doesn't exist, create the directory and then save the file. I would like to do this in one routine if possible. Thanks, Rob |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Save file to same directory folder | Excel Discussion (Misc queries) | |||
Automatically save a file in another directory | Excel Discussion (Misc queries) | |||
How to: check if folder exist, if not, create | Excel Programming | |||
Save File to Another Directory, but not change Users File Save location | Excel Programming | |||
How to check if a folder/directory exist using VBA | Excel Programming |