Window>Arrange>Tiled - all xls in directory

D

Desert Piranha

Hi all,

This may sound kinda stupid but what i am trying to do is open all
workbooks in a directory
"One at a time" and do the "Windows.Arrange ArrangeStyle:=xlTiled" code
on them.

One issue is the workbook where the code is, obviously is open, to
start the macro.
This doesn't work because if another workbook opens then there are two
windows tiled.
I don't want that.

Another issue is the code saves and closes the workbooks, and since the
workbook with the code
is open, that won't work,

So Any Ideas?

Just in case this might somehow work, here is the code i am trying to
use.
And i apologize i don't know whose it is.


Code:
--------------------
Sub AllFolderFiles()
Dim wb As Workbook
Dim TheFile As String
Dim MyPath As String
Application.ScreenUpdating = False
Application.EnableEvents = False
'Put folder path next line.
MyPath = "C:\Documents and Settings\Owner\Desktop\Tiled Testing"
ChDir MyPath
TheFile = Dir("*.xls")
Do While TheFile <> ""
Set wb = Workbooks.Open(MyPath & "\" & TheFile)
'Your code goes here.
Windows.Arrange ArrangeStyle:=xlTiled
wb.Close SaveChanges:=True
TheFile = Dir
Loop
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
 
N

NickHK

What are you trying to achieve by tiling a single workbook ?
Do these WBs have multiple windows ?

NickHK

"Desert Piranha"
 
N

NickHK

Put the code in Personal.xls and run it from a menu entry.
Also, close all open WBs before you run the tiling code.
For each wb in Application.Workbooks
If wb.name<>me.name then
wb.close
end if
Next

NickHK

"Desert Piranha"
 
D

Desert Piranha

Hi Nick,

No. I don't think any of the workbooks have multiple windows. So what i
am looking for,
is like if you just open a workbook, and then go to
"Windows>Arrange>Tiled", then save and close.
So only one workbook is open at a time, no multiple windows.

I have a bunch of workbooks in a directory, that when opened (one at a
time), open to
various sizes on my screen. I want to change them so they open to the
standard above.
I know i can just do it manually, when i open them manually, but i'm
kinda lazy so i thought
i could just use code to set them all to that standard.

Thx
Dave said:
What are you trying to achieve by tiling a single workbook ?
Do these WBs have multiple windows ?

NickHK

"Desert Piranha"
message
 
D

Desert Piranha

Hi Nick,

This seems promising,

I'm getting a error of:

Run-time Error '1004'
C:\Documents and Settings\Owner\Desktop\Tiled Testing\Top251.xls
Could not be found. Check spelling ~~~

The line below in the code, is highlighted in Yellow
Set wb = Workbooks.Open(MyPath & "\" & TheFile)

There is no such workbook or file by this name. -->(Top251.xls)

thx Dave
NickHK said:
Put the code in Personal.xls and run it from a menu entry.
Also, close all open WBs before you run the tiling code.
For each wb in Application.Workbooks
If wb.name<>me.name then
wb.close
end if
Next

NickHK

"Desert Piranha"
message
 
N

NickHK

Why not put them to Maximised instead, if there is only a single window.
Tiling a single window makes no sense.
Then you do not have be concerned with other open windows.

NickHK

"Desert Piranha"
 
D

Desert Piranha

Hi Nick,

hee hee hee
Well in my original post i said it "may sound kinda stupid"

But i will play with this a few days, before trashing it.
As a workaround i put a button on my toolbar.

Thx for all your input
Dave said:
Why not put them to Maximised instead, if there is only a single
window.
Tiling a single window makes no sense.
Then you do not have be concerned with other open windows.

NickHK

"Desert Piranha"
message
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top