+ Reply to Thread
Results 1 to 5 of 5

Automation of Excel to perform simple tasks on many workbooks.

  1. #1
    admin4office
    Guest

    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.

  2. #2
    Tom Ogilvy
    Guest

    Re: 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" <[email protected]> wrote in message
    news:[email protected]...
    > 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.




  3. #3
    admin4office
    Guest

    Re: 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" <[email protected]> wrote in message
    > news:[email protected]...
    > > 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.

    >
    >
    >


  4. #4
    Tom Ogilvy
    Guest

    Re: 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" <[email protected]> wrote in message
    news:[email protected]...
    > 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" <[email protected]> wrote in message
    > > news:[email protected]...
    > > > 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.

    > >
    > >
    > >




  5. #5
    admin4office
    Guest

    Re: 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" <[email protected]> wrote in message
    > news:[email protected]...
    > > 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" <[email protected]> wrote in message
    > > > news:[email protected]...
    > > > > 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.
    > > >
    > > >
    > > >

    >
    >
    >


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1