11. maj 2007 - 16:34Der er
13 kommentarer og 1 løsning
Excel ark indsat i Word problem med kanter og andet
Hej Word E, Jeg har lavet en faktura skabelon til min kæreste. Hun laver ikke så mange, så Word 2003 fungerer fint til formålet. Jeg har problemer med at kanterne på cellerne kommer med på udskriften, selvom jeg har valgt kanter fra i selve Excel-arket, som er indsat i Word dokumentet. Excel-arket er "aktivt" når jeg slår kanter fra. Desuden findes der en nummertæller som nummererer det dokument man åbner fra en skabelon fortløbende. Altså så man kan bruge den til at generere fakturanummer?
Jeg skal lige høre lidt mere. Altså - du har oprettet en Word skabelon, hvor du har indsat et Excel-objekt, som du har oprettet på baggrund af en eksisterende Excel-fil? Eller hvad?
Der findes ikke nogen nummertæller; så skal I ud i noget kode.
Ja jeg har indsat et Excel ark som objekt. Nu er der godt nok ikke rammer på udskriften, men stadig på "vis udskrift"... Til gengæld vil den ikke lave rammerne lysegrå, men kun sorte, altså automatisk farve. Meget frustrerende.
Så må du lige flikke noget kode sammen, det burde være nemt nok med det navn ;o)
Vælge kanter fra - er det gridlines? (har US-version af Office). Hvis jeg laver et Excel-ark, slår gridlines fra, gemmer filen og derefter indsætter den som objekt i word, har jeg ingen "kanter/streger/afgrænsninger" mellem cellerne.
Og ja, det er nemt nok at flikke kode sammen med mit navn :-)
Mht. en tæller, så kunne du f.eks. have et Word-dokument (når nu din kæreste i forvejen bruger Word til fakturaen), som kun indeholder et tal, nemlig det fakturanummer, som senest er brugt.
Via kode åbner du dokumentet, aflæser det tal, som dokumentet indeholder, lægger ét til, skriver dette i "fakturanummer-dokumentet", gemmer og lukker. Indsætter det nye fakturanummer i fakturaen.
Meget simpelt (og nogen vil sikkert rynke på næsen), men hvis det virker... :-)
Jeg går ud fra, at du ikke har nogen vba-erfaring (bær over med mig, hvis du har).
Lav et nyt word-dokument, hvor du skriver det tal minus 1, som fakturaen skal starte med. Der må kun stå tallet i dokumentet, intet andet. Gem det.
Åbn fakturaskabelonen. Klik på Alt+F11. Du kommer nu ind i kodevinduet. Indsæt et nyt modul (Klik på Insert - Module).
Kopier nedenstående (mellem *****) og sæt det ind i modulet (din markør står i modulet, når du har indsat det). ****************** Public Sub Fakturanummer() Dim objInvoiceDoc As Document Dim objDoc As Document Dim strNumber As String Dim lngNumber As Long
Set objInvoiceDoc = ActiveDocument Set objDoc = Documents.Open("C:\Fakturanummer.docx") strNumber = objDoc.Range.Text
If IsNumeric(strNumber) Then lngNumber = CLng(strNumber) lngNumber = lngNumber + 1 objDoc.Range.Text = CStr(lngNumber) objDoc.Close True objInvoiceDoc.Activate Selection.Range.Text = lngNumber Else MsgBox "Dokumentet med fakturanumre indeholder enten ikke et nummer eller også indeholder dokumentet mere end blot et tal.", vbCritical, "Hent fakturanummer" End If
Set objDoc = Nothing Set objInvoiceDoc = Nothing End Sub **************
Du skal nu rette filnavnet, så det svarer til den fil, hvor du har fakturanummeret. Ret linjen:
Set objDoc = Documents.Open("C:\Fakturanummer.docx")
så C:\Fakturanummer.docx svarer til det filnavn, som du/I har.
Luk kodevinduet (klik på det røde kryds). Gem skabelonen. Du kan nu lave en værktøjslinje/knap i skabelonen, så du/I kan indsætte et fakturanummer ved blot at klikke på knappen. Fakturanummeret bliver indsat der, hvor markøren står i dokumentet.
Sig til, hvis det driller eller du vil have uddybet noget.
Tusind tak for hjælpen. Nej ingen erfaring overhovedet. Jeg regner med at rode mere med det i min ferie (august), er ret hårdt spændt for. Vender tilbage med evt. erfaringer. Foreløbigt får du ihvertfald point for din fine insats. Og lidt af det blå.
Velbekomme - jeg takker for både point, det blå og kommentaren hertil.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.