Voor een VBA tooltje ga ik met de internetexplorer naar maps.google.nl om daarna een printscreen temaken, paint openen, kenmerken wijzigen, opslaan als bestand.bmp en daarna opslaan als bestand.jpg. (de stap om eerst op te slaan als bmp was nodig na wat praktijktesten)
Het openen van de internetexplorer gaat goed maar daarna krijg ik het niet meer voor elkaar. Het probleem is volgens mij dat VBA niet goed met de 'keystrokes' om kan gaan buiten het programma waar VBA in draait, dit wordt ook aangegeven op diverse site's en inderdaad gaat het niet goed.
Uiteindelijk doel is een jpg te krijgen met de afmeting 900*600 pixels van een kaart, bij voorkeur zoals maps.google. Als iemand een andere oplossing heeft met het zelfde resultaat is natuurlijk ook perfect maar ik mag jammergenoeg weinig installeren hier. (programma's zonder installatie/setup mogen wel).
Dus mijn vraag is;
- is het mogelijk om vanuit VBA een applicatie aan te sturen zodat ik een kaartje als jpg kan opslaan?
- Wie kan me de goede kant op sturen?
Code
Set Browser = CreateObject("InternetExplorer.Application")
Browser.StatusBar = False
Browser.Toolbar = True
Browser.Visible = True
Browser.fullscreen = False
Browser.Resizable = False
Browser.AddressBar = False
Browser.Navigate ("http://maps.google.com/maps?ll=52.160952,6.21726")
VBA.SendKeys ("^v") 'paste
VBA.SendKeys ("^E") 'kenmerken
VBA.SendKeys ("750")
VBA.SendKeys "{TAB}"
VBA.SendKeys ("500")
edit;
ondertussen kreeg ik een idee om 'binnen vba' te blijven. Door een form te maken met daarin een webbrowser control (standaard microsoft) en hiervan een printscreen proberen te maken. Door geen border etc te gebruiken hoop ik uiteindelijk een schone printscreen te krijgen.
Hierdoor ben ik in ieder geval het zenden van keystrokes kwijt volgens mij maar ik ben nog lang niet klaar.
Het openen van de internetexplorer gaat goed maar daarna krijg ik het niet meer voor elkaar. Het probleem is volgens mij dat VBA niet goed met de 'keystrokes' om kan gaan buiten het programma waar VBA in draait, dit wordt ook aangegeven op diverse site's en inderdaad gaat het niet goed.
Uiteindelijk doel is een jpg te krijgen met de afmeting 900*600 pixels van een kaart, bij voorkeur zoals maps.google. Als iemand een andere oplossing heeft met het zelfde resultaat is natuurlijk ook perfect maar ik mag jammergenoeg weinig installeren hier. (programma's zonder installatie/setup mogen wel).
Dus mijn vraag is;
- is het mogelijk om vanuit VBA een applicatie aan te sturen zodat ik een kaartje als jpg kan opslaan?
- Wie kan me de goede kant op sturen?
Code
Set Browser = CreateObject("InternetExplorer.Application")
Browser.StatusBar = False
Browser.Toolbar = True
Browser.Visible = True
Browser.fullscreen = False
Browser.Resizable = False
Browser.AddressBar = False
Browser.Navigate ("http://maps.google.com/maps?ll=52.160952,6.21726")
VBA.SendKeys ("^v") 'paste
VBA.SendKeys ("^E") 'kenmerken
VBA.SendKeys ("750")
VBA.SendKeys "{TAB}"
VBA.SendKeys ("500")
edit;
ondertussen kreeg ik een idee om 'binnen vba' te blijven. Door een form te maken met daarin een webbrowser control (standaard microsoft) en hiervan een printscreen proberen te maken. Door geen border etc te gebruiken hoop ik uiteindelijk een schone printscreen te krijgen.
Hierdoor ben ik in ieder geval het zenden van keystrokes kwijt volgens mij maar ik ben nog lang niet klaar.
[ Voor 94% gewijzigd door Woy op 08-05-2009 14:54 ]