30. oktober 2001 - 02:06Der er
10 kommentarer og 1 løsning
Feltning med reference i MS Word 2000
Jeg skal lave en bordplan med ca. 300 gæster.
I et excel dok. har jeg folks navne og deres billetnr. Denne ønsker jeg at flette sammen med en bordplan lavet i word.
I worddok. ønsker jeg blot at fortælle hvilke billetnr der skal sidder hvor, ved en fletning skal dokumentet selv indsætte Nr. og tilhørende navn til et dok.
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
24. juli 2024
Slettet bruger
30. oktober 2001 - 07:29#1
Det lyder nu som om at du vil lave noget stor ud af en lille ting, hvorfor laver du ikke det hele i excel?
Jeg er lige med på en lytter når uddybningen kommer. - skal feltningen selv tildele billetnr 1 Hugo et nummer på en stol ? - hvad er det for et tilhørende dok. navn du vil have med ?
Jeg går ud fra at du vil skrive billetnumrene i worddokumentet og derefter \"flette\" med Excel.
Nedenstående kode er lavet i Word VBA og forudsætter at du indsætter formularfelter i Worddokumentet, hvorefter du skrivebeskytter dokumentet og indtaster billetnumrene i formularfelterne.
Her er koden, der er lavet i \"løs hånd\" så der er sikkert flere forbedringsmuligheder :-)
Sub IndsætNavneFraExcel()
Dim xlApp As Object Dim række As Integer Dim X As String
\'Opretter Excelobjektet xlApp Set xlApp = CreateObject(\"Excel.Application\") xlApp.Visible = True
\'Excelregnearket med Billetnumre (Kolonne 1) og navne (Kolonne 2) åbnes xlApp.workbooks.Open FileName:=\"C:\\test\\Bordplan.xls\"
række = 0
\'Tæller fyldte rækker (der må ikke være tomme rækker ind imellem) Do række = række + 1 Loop Until (xlApp.Cells(række, 1) = \"\")
række = række - 1
Set doc = ActiveDocument
\'går igennem alle formularfelter For Each aField In ActiveDocument.FormFields
\'Hvis formulafeltet er et tekstfelt If aField.Type = wdFieldFormTextInput Then Y = aField.Result \' Y = formularfeltets indhold
\'Tælleren sættes til 0 n = 0
\' Excelregnearkets rækker gennemløbes For n = 1 To række X = xlApp.Cells(n, 1)
\' Hvis indholdet i række n = formularfeltsts indhold If Y = X Then \'Formularfeltsts indhold ændres til billetnr + Navn fra regneark aField.Result = Y & \" \" & xlApp.Cells(n, 2) Exit For End If Next n End If Next aField
Det ser ikke ud til, at dette spørgsmål er et svar værdigt. Synd at vi ikke selv kan lukke sådan et spørgsmål, når ejeren ikke selv kan finde ud af det.
Beklager alle, at der skulle gå så lang tid.... men der er mange ting der skal ændres når man får ny e-mail adresse....
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.