Hirdetés

Új hozzászólás Aktív témák

  • Ha az Excel VBA Tools >> References résznél hozzáadod a Microsoft Word x.y Object Library-t, akkor használhatod a Word objectumait.

    Dim wrdApp As Word.Application
    Dim wrdDoc As Word.Document
    Set wrdApp = CreateObject("Word.Application")
    wrdApp.Visible = True
    Set wrdDoc = wrdApp.Documents.Add
    'wrdDoc.Close
    'wrdApp.Quit

    Ez Excelből elindít egy word alkalmazást, hozzáad egy dokumentumot, és ha az utolsó 2 sor elejéről kiveszed az aposztrofokat, akkor be is zárja.
    Persze lehetne a referencia hozzáadása nélkül is, akkor viszont a Word.Application és a Word.Document helyett Object-eket kellene írni.

    Természetesen a word-ből is lehet az excel objektumait használni.

    Csak mint írtam, ekkor alapból nem "ismerik fel" a másik alkalmazás konstansait. ezért kell ezeket külön definiálni, mert különben teljesen mást csinál a kód, mint amit szeretnénk...

    Engem igazán az izgatna, hogy változót hogy tudok átadni mondjuk excelből wordbe.
    Mert itt a legnagyobb problémánk az volt, hogy a körlevél rekordszám az excelben megfelelő programrésszel meghatározott/szűrt sorok száma kell legyen, de ezt a változót csak az excel tábla egyik cellájából bírtuk kibányászni Wordből indított DDE hívással, ami egy baromi körülményes és vacak megoldásnak tűnik nekem:
    lngChannel = DDEInitiate(App:="Excel", Topic:="akarmi.xls")
    ig2 = DDERequest(Channel:=lngChannel, Item:="r11c17")
    Application.DDETerminateAll
    Többek között ez csak a "Munka1" lapról szed, én nem tudtam elérni, hogy más munkalap legyen a forrás, aztán csak a R1C1 stílusú hivatkozás működött; illetve ha nem volt látható a hivatkozott cella (mondjuk el volt rejtve vagy össze volt csukva az adott sor v. oszlop), akkor valami nem jó értéket adott vissza (karakterként négyzet, chr$-ként talán 13?).
    Sajnos a DDERequestről eddig nem sikerült normális (a VBA helpnél bővebb) leírást találnom, úgyhogy nem is vagyok tisztában vele, hogy esetleg valami más, értelmesebb, kezelhetőbb formában használható-e. :((

Új hozzászólás Aktív témák