Avatar billede kox Nybegynder
11. maj 2007 - 16:34 Der 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?
Avatar billede word-hajen Nybegynder
11. maj 2007 - 18:50 #1
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.
Avatar billede kox Nybegynder
11. maj 2007 - 21:24 #2
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)
Avatar billede word-hajen Nybegynder
11. maj 2007 - 21:45 #3
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 :-)
Avatar billede kox Nybegynder
08. juni 2007 - 13:21 #4
Tak for hjælpen. Tror vi valgte at leve med problemet. Har ikke hørt noget siden, så plejer der ikke at være noget i vejen ;o)
Avatar billede kox Nybegynder
08. juni 2007 - 13:21 #5
Hov smid lige svar, det var egentlig det jeg ville bede dig om.
Avatar billede kox Nybegynder
08. juni 2007 - 13:22 #6
Ang. det med tæller... Kan du give mig et hint om hvordan jeg kommer igang, for det kunne være pænt svedigt med fortløbende numre?
Avatar billede word-hajen Nybegynder
08. juni 2007 - 18:16 #7
Svar :-)
Avatar billede word-hajen Nybegynder
08. juni 2007 - 18:22 #8
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... :-)

Kan du kode?
Avatar billede kox Nybegynder
08. juni 2007 - 21:22 #9
Jeg forstår så nogenlunde min kæreste som er kvinde, så nogen kode forstår jeg da ;o) Det er dog nok ikke meget bevendt her...
Avatar billede word-hajen Nybegynder
08. juni 2007 - 22:15 #10
Ha-ha... pas nu på, du ikke får lagt dig ud med en anden kvinde (mig) *g*

Sig til, hvis du vil kaste dig ud i fakturanummer-projektet, så skal jeg nok hjælpe på vej.
Avatar billede kox Nybegynder
08. juni 2007 - 22:19 #11
Til ;O)
Avatar billede word-hajen Nybegynder
08. juni 2007 - 22:43 #12
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.
Avatar billede kox Nybegynder
03. juli 2007 - 21:36 #13
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å.
Avatar billede word-hajen Nybegynder
04. juli 2007 - 14:23 #14
Velbekomme - jeg takker for både point, det blå og kommentaren hertil.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester