Hej! Enklaste sättet. Deklarera alla objekt som As Object Jag har skapat wordobjektet genom att skriva: Hej. Har för mig att msword8.olb är word 97. Efter det kan man använda dessa referenser. Men är osäker om word 95 är kompatibel. Det var ju mellan Office 95 och Office 97 som det hände något stort. Jag har skrivit några VB-program som styr utskrifter via Word och min erfarenhet från dessa säger att VB-programmet bara fungerar ihop med den Office-version som är installerad på datorn vid kompileringstillfället. Det räcker alltså inte att distribuera mswordx.olb och sedan registrera den på destinationsdatorn. Tack för hjälpen alla! mswordx.olb eller *.olb filler har jag för mig bara listar com interface. Som gör det möjligt att programmera Early Bindings. Går därför inte att registrera dem. Har för mig att man måste skapa objekten med CreateObject("Excel.Application.8") har man 2000 på sin dator och har inte kryssat bort uppgradera activeX kontroller har jag för mig att den automatiskt går över till Office 2000. Så man får vara försiktig. Men det skall gå. Alla objekt i 2000. skall nog stödja det tidigare gränssnitten för bakåt kompabilitet. VB+Wordversioner
Jag har ett litet problem. Jag har gjort att VB-program som ska generera ett Worddokument. Datorn jag gjort det på har ett gammalt officepaket
(-95). Jag skulle testa mitt VB-program på en dator som hade ett nyare officepaket (2000) för att testa om det gick. Först och främst gick det ens inte att få igång programmet så jag laddade hem runtime 4.0 från download.com och det gick ju bra, jag fick igång programmet men worddokumentet gick inte att skapa. Jag undrar: Går det på något sätt att få worddokumentet att fungera på olika officepaket eller fungerar det bara med det officepaketet som man har installerat då man gör programmet? Jag behöver verkligen få detta att fungera på så många olika wordversioner som möjligt. En sak till: programmet fungerade på två olika operativsystem. Windows 98 och Windows xp. Kommer det att fungera på alla andra också. Som
t ex Windows NT mm?
Vore väldigt tacksam för svar.
AggeSv: VB+Wordversioner
Skapa Word.Application med CreateObject().
Nackdelen är att du då kommer använda Late Bindings. Vilket innebär att när du anropar metoder eller egenskaper på din objekt. Kommer dit program fråga om metoden stödjs och vilken adress den har. Istället för att direkt anropa adress. Som den gör med Early Bindings.
Du kan minska betydlesen av Late Bindings/Early Bindings genom att göra så få anrop som möjligt. T.Ex. mot excel. Att fylla en array och skicka den istället för att sätta varje cell för sig. Påverkar prestandan mycket posetivt. Eftersom anrop över processgränsen tar tid att synkronisera(Är långsamma). Sv: VB+Wordversioner
Dim Wordobject As Object
Set Wordobject=CreateObject("Word.Basic") .......
Skriver jag ("Word.Application") säger den ifrån att den inte kan skapa objektet.
En sak till....
När jag har skapat objektet ska jag klistra in lite text vid en del bokmärken jag lagt ut. Denna texten ska ej sparas utan bara skrivas ut. Alltså skriver jag bara att den ska klistra in texten, skriva ut dokumentet och stänga dokumentet. Detta fungerar bra förutom att jag alltid får ett felmeddelande som heter "Runtime error 51" där den frågar mig om jag vill spara ändringarna i mitt dokument och jag kan välja mellan att sluta köra programmet eller debugga.
Detta meddelandet vill inte jag ha upp. Jag vill inte spara några ändringar, vill bara stänga dokumentet efter att det skrivits ut. Hur kan jag lösa detta?
/AggeSv: VB+Wordversioner
Vet inte om jag snurrar nu men jag tror att
Ex. "msword8.olb" spelar en viss roll.
Jag gjorde så att jag lade till en referens till detta bibliotek och då funkade det på maskiner med både W97 och W2000.
Bara en gissning.
Du kan ju börja kolla på dessa (*.olb) filerna. Kolla versioner och kompatibilitet.Sv: VB+Wordversioner
Sv: VB+Wordversioner
Mvh
/StaffanSv: VB+Wordversioner
Fick nys om en jättebra sida angående detta problem. Om någon är nyfiken så är det denna sidan:
http://www.djpate.freeserve.co.uk/WordPrbs.htm#WordVersionsCode
/AggeSv: VB+Wordversioner