|
| Kommentar Fra : Harlekin |
Dato : 10-05-05 10:10 |
| | |
| Kommentar Fra : olefahnoe |
Dato : 10-05-05 10:19 |
|
hmm
fik jeg ikke sagt at jeg ikke er en haj
og bruger vB editor i excel
| |
|
Du kan låne ca 100 instruktionsbøger i VB på biblioteket. Der findes også nogle for ikke-nørder.
| |
| Kommentar Fra : olefahnoe |
Dato : 10-05-05 13:05 |
|
jeg havde engang et link til en side hvor man kunne finde det hele og bare kopiere det ind hos sig selv
er der nogen der kender en sådan side
| |
|
OK Ole. Til 500 point har du fortjent et bedre svar end mit. Jeg følger lige med fra sidelinjen.
| |
| Kommentar Fra : berpox |
Dato : 10-05-05 16:46 |
|
Hej Ole.
Hvis jeg forstår opgaven rigtigt så er den som følger:
1) Form med checkbokse og labels samt en OK command knap oprettes i Excel.
2) De checkbokse der er hakket af betyder at det Word-dokument der er nævnt i en label skal udprintes ved tryk på OK knappen.
- altså du vil indefra Excel kunne udskrive nogle Word-dokumenter.
Jeg kan lave noget kode til dig senere der kan ovennævnte (det bli'r nok først sent i aften eller imorgen), med mindre andre laver koden før mig
Meld lige tilbage om det er rigtigt forstået.
mvh berpox
| |
| Kommentar Fra : olefahnoe |
Dato : 10-05-05 21:17 |
|
det er helt rigitgt forstået
og jeg vil blive glad for at se hvordan man gør
så hvis det virker (hvilket jeg ikke tviler på) så er der flere point på vej til dig
| |
| Kommentar Fra : berpox |
Dato : 12-05-05 01:22 |
|
Hej Ole.
1) I dit VBA for dit excel-ark indsætter du en userform der får navnet Userform1.
2) Indsæt 3 checkbokse på Userform1 og navngiv dem chkbox1 chkbox2 chkbox3 (altså name, IKKE caption)
3) Indsæt en knap på Userform1 og navngiv den cmdPrint
4) Indsæt al følgende kode i din userform..
Kode ' Kodet af berpox 2005-05-11
'
' Husk at vælge "Tools - References og hakke af ud for
' "Microsoft Word 9.0 Object library"
' samt
' "Microsoft Scripting Runtime"
Option Explicit
Option Base 1
Dim WordDoc(100) As String
'Dim fso, myfile As Scripting.FileSystemObject
Dim i As Integer
Dim ctrl As Control
Dim MyAppID As Variant
Private Sub Chkbox1_Click()
WhichDocumentsAreChecked
End Sub
Private Sub Chkbox2_Click()
WhichDocumentsAreChecked
End Sub
Private Sub Chkbox3_Click()
WhichDocumentsAreChecked
End Sub
Private Sub cmdPrint_Click()
'On Error GoTo Errorhandler
MyAppID = Shell("c:\Programmer\Microsoft Office\Office\Winword.exe", 1) 'åbner word i normalt vindue
'lukker det tomme "standard" dokument
On Error Resume Next
Word.ActiveDocument.Close (wdPromptToSaveChanges)
i = 1
For Each ctrl In UserForm1.Controls
If TypeName(ctrl) = "CheckBox" Then 'hvis der er tale om en checkbox, så...
If ctrl Then 'Hvis checkbox er TRUE åbnes dokumentet
Word.Documents.Open ctrl.Caption 'åbner filen der modsvarer caption på valgt checkbox
Word.ActiveDocument.Activate
ActiveDocument.PrintOut Range:=wdPrintAllPages, Copies:=1 'alle sider
On Error GoTo 0
'Debug.Print Now
Application.Wait Now + TimeValue("00:00:03") 'venter 3 sek. mens printet sendes til spoolkø
'Debug.Print Now
On Error GoTo Errorhandler
Word.ActiveDocument.Close wdDoNotSaveChanges
i = i + 1
End If
End If
Next
Unload UserForm1
Word.Application.Quit wdDoNotSaveChanges
Set UserForm1 = Nothing
Set MyAppID = Nothing
Exit Sub
Errorhandler:
MsgBox "Der opstod en eller anden fejl, som jeg ikke kender. Prøv at lukke word, og så forsøg igen!", vbInformation
Unload UserForm1
End
End Sub
Function WhichDocumentsAreChecked() 'farver baggrundsfarven grøn ved valgt checkbox
i = 1
For Each ctrl In UserForm1.Controls
If TypeName(ctrl) = "CheckBox" Then
If ctrl Then
ctrl.BackColor = vbGreen
Else
ctrl.BackColor = &H8000000F
i = i + 1
End If
End If
Next ctrl
End Function
Sub ResizeAllCheckBoxesInUserForm() 'tilpasser checkboxe
i = 1
For Each ctrl In UserForm1.Controls
If TypeName(ctrl) = "CheckBox" Then
ctrl.Width = 160
ctrl.Left = 20
ctrl.Caption = UCase(WordDoc(i))
i = i + 1
End If
Next ctrl
End Sub
Sub UserForm_initialize()
'Formatterer Userform1
With UserForm1
.Width = 200
.Height = 160
End With
'Formatterer og placerer Print-knappen
With cmdPrint 'Navnet på Commandbutton1 er omdøbt til cmdPrint
.Caption = "Print de udvalgte dokumenter"
.Width = 160
.Height = 20
.Left = 20
.Top = 100
End With
'her indtastes stien til de dokumenter der skal kunne åbnes og udskrives
'op til 100 filer kan defineres da WordDoc(x) er deklareret som et array på 100
WordDoc(1) = "C:\dokumenter\testdoc1.doc"
WordDoc(2) = "C:\dokumenter\testdoc2.doc"
WordDoc(3) = "C:\dokumenter\testdoc3.doc"
'kalder sub til lige at tilpasse checkboksteksterne til dokumentteksterne...
ResizeAllCheckBoxesInUserForm
End Sub |
5) På "Sheet1" i dit regneark indsætter du en trykknap, således at VBA koden for denne bliver
Kode Private Sub CommandButton1_Click()
UserForm1.Show
End Sub |
6) Opret 3 testdokumenter i word, læg dem i folderen c:\dokumenter og navngiv dem testdoc1.doc, testdoc2.doc, testdoc3.doc
7) Afvikl koden ved tryk på knappen....
8) Der opstår desværre ofte en eller anden meget mærkelig runtime error 462 når koden afvikles - sådan ca. hver anden gang....jeg vil lige forske lidt videre i hvad pokker det er der sker.... men det korte af det lange er, at du her har en kode der kan en hel masse. Du kan så plukke det ud du har brug for. Jeg har lagt lidt forklarende tekst ind i koden, men det ser du
God fornøjelse
mvh berpox
| |
| Kommentar Fra : berpox |
Dato : 12-05-05 08:46 |
|
Hej Ole.
Jeg kan maile excel dokumentet til dig, hvis du har en mailadresse jeg må benytte..... skriv den evt. kortvarigt ind i din profil, så ligger den ikke til offentligt skue i al evighed på Kandu
mvh berpox
| |
| Kommentar Fra : berpox |
Dato : 12-05-05 09:47 |
|
Glemte at skrive, at du selvfølgelig lige må tilpasse linien der hvor jeg aktiverer word så det passer til din installation
MyAppID = Shell("c:\Programmer\Microsoft Office\Office\Winword.exe", 1)
mvh berpox
| |
| Kommentar Fra : olefahnoe |
Dato : 12-05-05 16:05 |
|
det kunne være godt med en mail hvis du vil
olefahnoe @ hotmail . com
| |
| Kommentar Fra : berpox |
Dato : 18-05-05 21:00 |
|
Hej Ole - kan du få det til at lykkes ?
mvh berpox
| |
| Kommentar Fra : olefahnoe |
Dato : 18-05-05 21:41 |
|
hej
jeg afprøvede det endelig i dag
men desværre
der kommer kun din fejlmeddelse op
når jeg trukker på print kanp
starter word og så kommer der fejl
hmm
men tak fort hjælpen
| |
| Kommentar Fra : berpox |
Dato : 19-05-05 19:45 |
|
Hej Ole - har du modtaget min mail ?
mvh berpox
| |
| Kommentar Fra : olefahnoe |
Dato : 19-05-05 19:55 |
|
ja tak
det virker fint mange tak
ole
der er en tråd mere til dig
| |
| Godkendelse af svar Fra : olefahnoe |
Dato : 19-05-05 19:55 |
| | |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|