vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest sobota, 19 maja 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

word+excel


otwartyotwarty rozpoczął: wkkw postów: 10



napisał: Stanislaw
postów: 109


umieszczony:
25 października 2005
23:01

  
Zmienna obiektowa jest zwalniana,
czyli następuje zerwanie połączenia między zmienną a obiektem,
(a pamięć jest odzyskiwana), kiedy procedura kończy działanie,
wtedy automatycznie przypisywana jest jej wartość Nothing.

Można zwolnić zmienną w dowolnym momencie nadając jej wartość Nothing,
wtedy również pozwala to na zaoszczędzenie zasobów komputera.

Dobrą praktyką programistyczną jest zwalnianie wszystkich zmiennych obiektowych, gdy nie są już potrzebne.
napisał: Trebor
postów: 1209


umieszczony:
25 października 2005
16:27

  
"On error goto 0" miało wykluczuć mozliwość zapętlenia się makra gdy poniżej etykiety 1 wystąpi błąd. Oczywiście w tej formie mozna to pominąć.
Jakie znaczenie ma polecenie np.

Set MyObject = Nothing

Czy jeśli zostanie to pominięte to ma to wpływ np. na pamięć komputera (????) po zakończeniu makra?
napisał: Stanislaw
postów: 109


umieszczony:
24 października 2005
22:57

  
Kontynuując pomysł Trebor'a
zastosowałbym konstrukcję With...End With
oraz zastanawiam się czy instrukcja "On Error GoTo 0"
będzie kiedykolwiek wykorzystana, a jeżeli nie, to jest zbędna.

Ostatecznie:
Sub excel_word()

Dim appWD As Word.Application

Selection.Copy

On Error GoTo 1

AppActivate "Microsoft Word"

With Word.Application.Selection
    .TypeParagraph
    .PasteAndFormat (wdFormatPlainText)
End With

Exit Sub

1
Set appWD = CreateObject("Word.Application")

With appWD
    .Visible = True
    .Documents.Add
    .Selection.PasteAndFormat (wdFormatPlainText)
End With

End Sub

napisał: Trebor
postów: 1209


umieszczony:
24 października 2005
18:18

  
Witam!!
Co powiecie na taką procedurę. W zasadzie działa chociaż sądzę, że potrzebna tu jest jeszcze ręka fachowca (wiele przepisane z helpa).
Wymagana referencja do biblioteki Worda.
Proszę o opinię (dopiero uczę się VBA).

Sub excel_word()
Dim appWD As Word.Application
Selection.Copy
On Error GoTo 1
AppActivate "Microsoft Word"
Word.Application.Selection.TypeParagraph
Word.Application.Selection.PasteAndFormat (wdFormatPlainText)
Exit Sub
On Error GoTo 0

1
Set appWD = CreateObject("Word.Application")
appWD.Visible = True
appWD.Documents.Add
appWD.Selection.PasteAndFormat (wdFormatPlainText)
End Sub
napisał: Stanislaw
postów: 109


umieszczony:
23 października 2005
19:13

  
Odnośnie zróżnicowania działania procedury w zależności od tego,
czy Word jest uruchomiony, czy nie - spróbuj wykorzystać informacje
z helpu na temat "GetObject Function Example".
napisał: wkkw
postów: 7


umieszczony:
23 października 2005
00:50

  
idąc jeszcze dalej- jak skopiować do worda sam tekst - bez komórek (tekst niesformatowany)?
napisał: wkkw
postów: 7


umieszczony:
23 października 2005
00:23

  
O to chodziło, dzięki.
probowałem zastosować pętle, tzn. żeby program powtórzył wklejenie do nowootwartego pliku, no ale nic z tego nie wychodzi:(
napisał: Stanislaw
postów: 109


umieszczony:
22 października 2005
20:11

  
Niestety, podana przeze mnie procedura nie radzi sobie, gdy Word nie jest uruchomiony
napisał: Stanislaw
postów: 109


umieszczony:
22 października 2005
14:40

  
Sub Kopiowanie_z_Excela_do_Worda()
' należy zaznaczyć w Excelu obszar komórek i uruchomić makro

' uruchomienie programu Word, a jeśli jest on już uruchomiony następuje jego uaktywnienie
Application.ActivateMicrosoftApp xlMicrosoftWord

Selection.Copy

GetObject(, "Word.Application").Selection.Paste
GetObject(, "Excel.Application").CutCopyMode = False

End Sub

napisał: wkkw
postów: 7


umieszczony:
22 października 2005
13:30

  
pewnie banalne pytanie, no ale mam z tym problem:(
chce za pomoca makra skopiowac zaznaczony fragment z excela do worda, pytanie: w jaki sposób przejść z excela do otwartego okna worda, a w przypadku gdy word nie jest uruchomiony to go otworzyć?


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z