ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Automation of Excel to perform simple tasks on many workbooks. (https://www.excelbanter.com/excel-programming/322986-automation-excel-perform-simple-tasks-many-workbooks.html)

admin4office

Automation of Excel to perform simple tasks on many workbooks.
 
I want to manipulate many Excel workbooks without having to open and enter
commands in each of them. If I have a folder with 1000 Excel workbooks, I
would like to run a script that could open each, tell each to save its
worksheets as plain text, and then close each. I could then use Perl to
search or index the plain text files.
The sequence of commands seems to be predictable, and therefore
scriptable. The only variables are the number of worksheets per workbook and
their names.
Is there a branch of Windows programming that supports this?
Many thanks.
--
admin4office_perl_programmer.

Tom Ogilvy

Automation of Excel to perform simple tasks on many workbooks.
 
Sub ABCD()
Dim srcPath as String
Dim destPath as STring
Dim sName as String
Dim bk as Workbook
Dim sh as Worksheet
srcPath = "C:\MyFolderxls\"
destPath = "C:\Myfoldercsv\"
sName = Dir(srcPath & "*.xls")
do
set bk = Workbooks.Open(srcPath & sName)
for each sh in bk.worksheets
sh.copy
activeWorkbook.SaveAs destPath & bk.Name & "_" & _
sh.Name & ".csv", fileformat:=xlCSV
activeWorkbook.Close Savechanges:=False
Next
bk.close SaveChanges:=False
sName = dir()
Loop while sname < ""
End Sub

How successful this is depends on what is in your sheets.

--
Regards,
Tom Ogilvy


"admin4office" wrote in message
...
I want to manipulate many Excel workbooks without having to open and

enter
commands in each of them. If I have a folder with 1000 Excel workbooks, I
would like to run a script that could open each, tell each to save its
worksheets as plain text, and then close each. I could then use Perl to
search or index the plain text files.
The sequence of commands seems to be predictable, and therefore
scriptable. The only variables are the number of worksheets per workbook

and
their names.
Is there a branch of Windows programming that supports this?
Many thanks.
--
admin4office_perl_programmer.




admin4office

Automation of Excel to perform simple tasks on many workbooks.
 
To Tom Ogilvy,
Thanks very much! This is a great help.
Am I correct in assuming that this code is VBA? (Which I must obviously
learn.)
Would you run this program as an Excel macro, or from outside of Excel?

Thanks again,
admin4office_perl_programmer

"Tom Ogilvy" wrote:

Sub ABCD()
Dim srcPath as String
Dim destPath as STring
Dim sName as String
Dim bk as Workbook
Dim sh as Worksheet
srcPath = "C:\MyFolderxls\"
destPath = "C:\Myfoldercsv\"
sName = Dir(srcPath & "*.xls")
do
set bk = Workbooks.Open(srcPath & sName)
for each sh in bk.worksheets
sh.copy
activeWorkbook.SaveAs destPath & bk.Name & "_" & _
sh.Name & ".csv", fileformat:=xlCSV
activeWorkbook.Close Savechanges:=False
Next
bk.close SaveChanges:=False
sName = dir()
Loop while sname < ""
End Sub

How successful this is depends on what is in your sheets.

--
Regards,
Tom Ogilvy


"admin4office" wrote in message
...
I want to manipulate many Excel workbooks without having to open and

enter
commands in each of them. If I have a folder with 1000 Excel workbooks, I
would like to run a script that could open each, tell each to save its
worksheets as plain text, and then close each. I could then use Perl to
search or index the plain text files.
The sequence of commands seems to be predictable, and therefore
scriptable. The only variables are the number of worksheets per workbook

and
their names.
Is there a branch of Windows programming that supports this?
Many thanks.
--
admin4office_perl_programmer.





Tom Ogilvy

Automation of Excel to perform simple tasks on many workbooks.
 
It is VBA run from within Excel (as a macro). All code must be in a
workbook, so you would put this code in a workbook that is not in the folder
being processed.

--
Regards,
Tom Ogilvy

"admin4office" wrote in message
...
To Tom Ogilvy,
Thanks very much! This is a great help.
Am I correct in assuming that this code is VBA? (Which I must obviously
learn.)
Would you run this program as an Excel macro, or from outside of Excel?

Thanks again,
admin4office_perl_programmer

"Tom Ogilvy" wrote:

Sub ABCD()
Dim srcPath as String
Dim destPath as STring
Dim sName as String
Dim bk as Workbook
Dim sh as Worksheet
srcPath = "C:\MyFolderxls\"
destPath = "C:\Myfoldercsv\"
sName = Dir(srcPath & "*.xls")
do
set bk = Workbooks.Open(srcPath & sName)
for each sh in bk.worksheets
sh.copy
activeWorkbook.SaveAs destPath & bk.Name & "_" & _
sh.Name & ".csv", fileformat:=xlCSV
activeWorkbook.Close Savechanges:=False
Next
bk.close SaveChanges:=False
sName = dir()
Loop while sname < ""
End Sub

How successful this is depends on what is in your sheets.

--
Regards,
Tom Ogilvy


"admin4office" wrote in message
...
I want to manipulate many Excel workbooks without having to open

and
enter
commands in each of them. If I have a folder with 1000 Excel

workbooks, I
would like to run a script that could open each, tell each to save its
worksheets as plain text, and then close each. I could then use Perl

to
search or index the plain text files.
The sequence of commands seems to be predictable, and therefore
scriptable. The only variables are the number of worksheets per

workbook
and
their names.
Is there a branch of Windows programming that supports this?
Many thanks.
--
admin4office_perl_programmer.







admin4office

Automation of Excel to perform simple tasks on many workbooks.
 
Thanks once again! This may save me an enormous amount of work.
Regards,
admin4office_perl_programmer

"Tom Ogilvy" wrote:

It is VBA run from within Excel (as a macro). All code must be in a
workbook, so you would put this code in a workbook that is not in the folder
being processed.

--
Regards,
Tom Ogilvy

"admin4office" wrote in message
...
To Tom Ogilvy,
Thanks very much! This is a great help.
Am I correct in assuming that this code is VBA? (Which I must obviously
learn.)
Would you run this program as an Excel macro, or from outside of Excel?

Thanks again,
admin4office_perl_programmer

"Tom Ogilvy" wrote:

Sub ABCD()
Dim srcPath as String
Dim destPath as STring
Dim sName as String
Dim bk as Workbook
Dim sh as Worksheet
srcPath = "C:\MyFolderxls\"
destPath = "C:\Myfoldercsv\"
sName = Dir(srcPath & "*.xls")
do
set bk = Workbooks.Open(srcPath & sName)
for each sh in bk.worksheets
sh.copy
activeWorkbook.SaveAs destPath & bk.Name & "_" & _
sh.Name & ".csv", fileformat:=xlCSV
activeWorkbook.Close Savechanges:=False
Next
bk.close SaveChanges:=False
sName = dir()
Loop while sname < ""
End Sub

How successful this is depends on what is in your sheets.

--
Regards,
Tom Ogilvy


"admin4office" wrote in message
...
I want to manipulate many Excel workbooks without having to open

and
enter
commands in each of them. If I have a folder with 1000 Excel

workbooks, I
would like to run a script that could open each, tell each to save its
worksheets as plain text, and then close each. I could then use Perl

to
search or index the plain text files.
The sequence of commands seems to be predictable, and therefore
scriptable. The only variables are the number of worksheets per

workbook
and
their names.
Is there a branch of Windows programming that supports this?
Many thanks.
--
admin4office_perl_programmer.








All times are GMT +1. The time now is 12:09 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com