Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Dokument Worda na podstawie danych z Excela

358 views
Skip to first unread message

Siwek

unread,
May 15, 2010, 5:18:56 AM5/15/10
to
Witam, chciałbym prosić o pomoc w rozwiązaniu następującego
zagadnienia. Na podstawie bazy tworzonej w Excelu chciałbym utworzyć
dokument word. Miałoby to wyglądać mniejwięcej tak: w excelu mam makro
z userformem na którym są różne textboxy do których wprowadzam dane.
Po kliknięciu przycisku dane wpisują się w odpowiednie komórki arkusza
i jednocześnie niektóre dane są eksportowane do worda do dokumentu
który ma postać formularza zlecenia.
Jak do tego podejść w najprostrzy sposób. W excelu z robieniem makr
(vb) jako tako sobie radzę, ale problem eksportu danych z excel do
word jest dla mnie zupełnie nowy. Próbowałem coś znaleźć w sieci ale
coś nie miałem szczęścia. Najcześciej przy hasle "export excel do
word" pojawia się temat korespondencji seryjnej.
Byłbym wdzięczny za jakiś przykład kodu który by eksportował wybrane
dane z excela do worda tak żebym miał szansę go przeanalizować i
ewentualnie twórczo rozwinąć dla swoich potrzeb.

Siwek

unread,
May 16, 2010, 2:15:42 AM5/16/10
to
Znalazłem coś takiego, co wstawia dane do tabeli w wordzie. Nie wiem
czy to rozwiązanie optymalne, ale mniej więcej o to mi chodziło. Po
przerobieniu na moje potrzeby wygląda to tak:

Dim objWord As Object

Private Sub CommandButton1_Click()
lp = Sheets("Arkusz1").Range("a1").CurrentRegion.Rows.Count
nrzlec = Range("Arkusz1!a1").Offset(lp - 1, 0) + 1

Range("Arkusz1!a1").Offset(lp, 0) = Trim(TextBox1.Value)

'eksport do worda
Set objWord = CreateObject("Word.Application")
objWord.Visible = True

With objWord
.Documents.Open ThisWorkbook.Path & "\Zlecenie.doc"
End With

If TextBox1.Value <> "" Then
objWord.ActiveDocument.Tables(1).Cell(2, 3).Range.Text = nrzlec
End If
FileCopy (ThisWorkbook.Path & "\Zlecenie.doc"), ThisWorkbook.Path &
"zlecelmar.doc"

Set objWord = Nothing

TextBox1.Value = ""

End Sub

Mam jednak kolejne pytania. Jak się zabezpieczyć przed próbą
otworzenia pliku "Zlecenie.doc" gdy jest on już otworzony. Wtedy makro
się zatrzymuje i pojawia się komunikat że plik jest używany przez inną
aplikację. Chciałbym ponadto aby zabezpieczyć strukturę pliku
zlecenie, najlepiej jakby zapisać go pod inną nazwą a oryginał od razu
zamknąć, ale tego nie potrafię zrobić, Próbowałem coś takiego, ale to
nie działa:(Brak jest obiektu)

FileCopy (ThisWorkbook.Path & "\Zlecenie.doc"), ThisWorkbook.Path &
"zlecenie1.doc"

Może jakaś podpowiedz?

0 new messages