Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 70485 Skopiuj do schowka Excel czeka, aż inna aplikacja ukończy akcję OLE
Autor Wiadomość
Rafał B.
Stały bywalec Excelforum



Wersja: Win Office 2016
Pomógł: 40 razy
Posty: 283
Wysłany: 22-03-2021, 19:46   Excel czeka, aż inna aplikacja ukończy akcję OLE

No i mnie dopadło na dobre... Każdy kiedyś się spotkał z tym problemem, ale nie zawsze debugging jest prosty, stąd prośba o pomoc.

Dla stałego klienta napisałem program generujący karty katalogowe produktów. Jednym z etapów generowania jest przeklejenie tabeli do Worda z Excela. I przy losowych kartach, często po wygenerowaniu kilku tysięcy kart, wyskakuje ten komunikat. Tak jakby nagle zrywał referencję do Worda(?) Nie wiem dokładnie, bo zawiesza aplikację. U mnie na stanowisku działa bezbłędnie. U klienta się wykrzacza (chociaż raz udało mu się bez problemu wygenerować wszystkie karty), zestaw 365+W10.

Próbowałem m.in. wszystkich porad z linku:
https://techcommunity.microsoft.com/t5/excel/no-links-vba-addons-but-microsoft-excel-waiting-for-another/m-p/331063

Przede wszystkim:
-wszędzie pełne kwalifikacje w VBA (w tym również brak With przy odniesieniach do Worda),
-wyłączone wszystkie dodatki Excel/VBA,
-pliki zapisywane lokalnie na dysku nieudostępnionym,
-testy w obu trybach DDE w opcjach,
-DisplayAlerts wyłączony zarówno dla zadeklarowej aplikacji Excela, jak i Worda,
-laptop nie przechodzi w stan uśpienia, ani nic z tych rzeczy (wyłączanie dysku etc),
-przed uruchamianiem makra nie ma żadnych ukrytych aplikacji Word, czy Excel.
-brak wirtualnej drukarki Adobe.

Pliku nie załączam, bo problem leży gdzieś poza VBA- ustawienia Excel/Word lub jeszcze co innego. Pytam, bo może ktoś miał nietrywialny przypadek tego błędu i go jakoś zdemaskował.
_________________
Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA.
ID posta: 402557 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3138 razy
Posty: 10389
Wysłany: 22-03-2021, 23:01   

Przeczytane wątki sugerują jeszcze wylogowanie z Google Drive. Próbowaliście wyłączyć wszystkie One i Google Drive-y, DropBox-y i inne?

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 402571 Skopiuj do schowka
 
 
Rafał B.
Stały bywalec Excelforum



Wersja: Win Office 2016
Pomógł: 40 razy
Posty: 283
Wysłany: 22-03-2021, 23:19   

Dzięki za zainteresowanie :)
Natrafiłem na wątki z Google Drive, jest to znany problem ze współgraniem przy zapisie na udostępnionym folderze, ale spróbuję poza
Kod:
(...)
-pliki zapisywane lokalnie na dysku nieudostępnionym,
(...)

wyłączyć w tle Dropbox.
_________________
Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA.
ID posta: 402572 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3138 razy
Posty: 10389
Wysłany: 22-03-2021, 23:30   

Wspomniałeś o
Rafał B. napisał/a:
-testy w obu trybach DDE w opcjach,
A próbowaliście zaznaczyć "Wyłącz sprzętowe przyspieszanie grafiki" (Opcje/Zaawansowane/sekcja Wyświetlanie)?

Qrde, to jest szukanie igły w stogu siana. :angry

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 402574 Skopiuj do schowka
 
 
Rafał B.
Stały bywalec Excelforum



Wersja: Win Office 2016
Pomógł: 40 razy
Posty: 283
Wysłany: 22-03-2021, 23:35   

Czytałem również o tym (ktoś podrzucił w zalinkowanym przeze mnie wątku), chciałem przetestować, ale... u klienta nie widzę tej opcji w ustawieniach Word (v365) :shock:

Artik napisał/a:
Qrde, to jest szukanie igły w stogu siana.
Faktycznie, nie jest to komfortowa sytuacja, gdy tak wiele aplikacji trzecich może mieć na to wpływ. :niee
_________________
Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA.
ID posta: 402575 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3138 razy
Posty: 10389
Wysłany: 22-03-2021, 23:41   

Rafał B. napisał/a:
u klienta nie widzę tej opcji w ustawieniach Word
W Excelu!

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 402577 Skopiuj do schowka
 
 
tctctc 
Świeżak


Posty: 4
Wysłany: 23-03-2021, 23:23   

Witam
Mam podobny problem OLE wiesza mi excela potem odwiesza wiesza znowu - podczas robienia makra. Operacja na małych plikach (100-200kb), pliki są na dysk google, używamy plików w 3 na 3 kompach. U innuch chodzi u mnie się wiesza. Zauważyłem że jak uruchomię excela jako administrator to wtedy chodzi ok - dziwwne, Zaczęło mi się to dziać po jakiejś aktualizacji Win10 prof. (excel 2019) Excel nawet się wieszał podczas kolorowania komórek. Przeinstalowałem nawet win. Nic nie dało :(
_________________
Tomek
ID posta: 402628 Skopiuj do schowka
 
 
Rafał B.
Stały bywalec Excelforum



Wersja: Win Office 2016
Pomógł: 40 razy
Posty: 283
Wysłany: 24-03-2021, 00:40   

Artik napisał/a:
Rafał B. napisał/a:
u klienta nie widzę tej opcji w ustawieniach Word
W Excelu!

Artik

Faktycznie :) przetestujemy w w wolnej chwili i dam znać.

@tctctc Powodzenia, kolejny bug Microsoftu. Dlatego szanujący się deweloper VBA wyceniający za zlecenie zamiast za godziny bierze z góry większą stawkę, przeszacowując czas tworzeniu makra. Bo z dużym prawdopodobieństwem skończy z debugowaniem >>nie swoich<< błędów za frajer.
_________________
Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA.
ID posta: 402630 Skopiuj do schowka
 
 
slavio 
Exceloholic


Pomógł: 2 razy
Posty: 146
Wysłany: 26-03-2021, 18:40   

Cześć

Miałem to samo jakiś czas temu.

Podczas exportu danych czasami występują błędy. Po zamknięciu WORDa czasami jednak proces windord.exe jest nie zamknięty. W menadżerze zadań proces WINWORD jest odpalony i koniecznie trzeba go zamknąć. Niezamknięcie tego procesu powoduje błąd OLE. Oczywiście przerzucanie tego obowiązku na użyszkodnika może okazać się niemożliwe. Zawsze pomaga oczywiście restart komputera.

Jeśli możesz wrzucić do swojego kodu takie coś, to polecam - polecenie zamknie wszystkie pliki word:

Kod:


Dim strPrompt As String
Dim strStyle As String
Dim strTitle As String
Dim StrResponse As String

strPrompt = "Czy mogę zamknąć wszystkie pliki MS WORD bez ich zapisywania?"
strStyle = vbQuestion + vbYesNo
strTitle = "Zamknięcie pliku MS Word"
 
StrResponse = MsgBox(strPrompt, strStyle, strTitle)

If StrResponse = vbYes Then
    Dim sKillWord As String
    sKillWord = "TASKKILL /F /IM Winword.exe"
    Shell sKillWord, vbHide
Else
    Exit Sub
End If




pozdrawiam
Slavio
ID posta: 402784 Skopiuj do schowka
 
 
Rafał B.
Stały bywalec Excelforum



Wersja: Win Office 2016
Pomógł: 40 razy
Posty: 283
Wysłany: 08-04-2021, 15:56   

Tylko w celu rozwiania wątpliwości:

@Artik
Niestety, dalej to samo w losowych miejscach :niee

@Slavio
Dzięki za próbę pomocy, ale pisałem w otwierającym poście, że procesy ubite i sprawdzane makrem, to nie jest to.
_________________
Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA.
ID posta: 403301 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3138 razy
Posty: 10389
Wysłany: 09-04-2021, 12:18   

Rafał B. napisał/a:
Jednym z etapów generowania jest przeklejenie tabeli do Worda z Excela.
Czy to jest na zasadzie Ctrl+C i Ctrl+V wykonane kodem?

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 403333 Skopiuj do schowka
 
 
Rafał B.
Stały bywalec Excelforum



Wersja: Win Office 2016
Pomógł: 40 razy
Posty: 283
Wysłany: 12-04-2021, 13:06   

Tak. Chciałem uprościć sobie zdecydowanie zadanie i zamiast kreować tabelę w Word, to tylko sobie przekopiować z Excela. Fragment ten wygląda

Kod:
retryLabel:
    Err.Clear
   
    On Error GoTo retryLabel
    rng.Copy
    this.WordDoc.SelectContentControlsByTitle(ccName). _
                 item(1).PasteExcelTable LinkedToExcel:=False, _
                                         WordFormatting:=False, _
                                         RTF:=True

I od razu się z GoTo spowiadam- podczas wielokrotnego kopiowania występuje na niektórych(!) komputerach błąd 4605 związany ze schowkiem. Jest to znany bug bez rozwiązania, zgłaszany na forach związanych z Microsoft i niezależnych, np. Jeden z wielu wątków w Internecie (SO)

To nieładne obejście okazało się po części całkiem dobre- u klienta dałem tam licznik takich przeskoków przy użyciu GoTo (czyli licznik błędów) i okazało się, że faktycznie kilka razy za drugim (a nawet trzecim) razem dopiero udało się skopiować poprawnie tabelę i makro szło dalej ładnie. Żadne zwłoki czasowe Sleep, Wait, DoEvents nie pomagają, niezależnie od ich liczby ani umiejscowienia.

Więc jeden problem pokonałem, a drugi wyskoczył. Jeśli będę zmuszony, to zrezygnuję całkowicie ze schowka i kopiowania. Ale to trochę irytujące, jeśli na jednym stanowisku losowo nie działa (a nawet zdarzały się dobre kompletne przebiegi na kilku tysięcy produktach) i z tego tytułu zmieniać kod... :-(

PS
O istnieniu poprawnych obiektów (Range, kontrolki w kolekcji) upewniam się chwilę wcześniej, więc nie ma tu ryzyka pętli nieskończonej jak może wynikać z tego fragmentu
_________________
Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA.
  
ID posta: 403447 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3138 razy
Posty: 10389
Wysłany: 12-04-2021, 13:36   

Rafał B. napisał/a:
od razu się z GoTo spowiadam- podczas wielokrotnego kopiowania występuje na niektórych(!) komputerach błąd 4605 związany ze schowkiem.
Też z nim kiedyś walczyłem i rozwiązałem podobnie jak Ty, przez kilkakrotne próby (z tego co pamiętam, to już w drugiej próbie się udawało, ale dałem chyba z 10 :-) ) Nie doświadczyłem natomiast głównego Twojego problemu.
Rafał B. napisał/a:
przy losowych kartach, często po wygenerowaniu kilku tysięcy kart, wyskakuje ten komunikat. Tak jakby nagle zrywał referencję do Worda(?)
Myślę sobie tak. Jeżeli Word się męczy przy tak intensywnej pracy, to może dawać mu odpoczynek co jakiś czas. Czyli, po wykonaniu iluś tam kopiowań, zamknąć Worda, otworzyć ponownie i kontynuować pracę. Wiem, że może być trochę upierdliwe. Chyba, że wolisz budować tabele od podstaw. ;-)

..::Edit:
Jeszcze nt. kopiuj-wklej. U siebie czasem otrzymywałem błędy dwojakiego rodzaju. Albo nie doszło do skopiowania zakresu źródłowego, albo nie doszło do wklejenia ze schowka do dokumentu. Coś tam pamiętam, że rozgraniczałem oba typy błędów, choć skutek był zawsze jeden - brak kopiowanego fragmentu w dokumencie.::..

Artik
_________________
Persistence is a virtue in the world of programming.
  
ID posta: 403448 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe