Jak uzyskać identyfikator procesu bieżącej instancji programu Excel, w której działa mój kod VBA? Nie chcę pytać o to po nazwie w nagłówku, co powoduje problemy, gdy mam dwie lub więcej wystąpień programu Excel z tym samym podpisem.Jak uzyskać identyfikator procesu bieżącej instancji programu Excel, za pomocą języka VBA, bez używania podpisu?
Odpowiedz
Możesz użyć tej metody, aby uzyskać bieżący identyfikator procesu.
Declare Function GetCurrentProcessId Lib "kernel32"() As Long
This page ma dobry przegląd dokładnie, jak można to zrobić w różnych wersjach programu Excel.
Jako n00b vba, kilka innych rzeczy nie wiedziałem
Stwierdzenie Declare idzie w górę. VBA będzie narzekać, jeśli instrukcja deklaruje dodaje się po deklaracji sub
Na przykład, to będzie działać
Declare Function GetCurrentProcessId Lib "kernel32"() As Long Sub Update ... ... End Sub
Ale to nie będzie działać
Sub Update ... ... End Sub Declare Function GetCurrentProcessId Lib "kernel32"() As Long
Oto jak wyświetlić PID w skrzynce z wiadomościami w vbscript
Set app = CreateObject("Excel.Application") MsgBox("Excel PID is " + CStr(app.Run("GetCurrentProcessId")))
Nadzieja to pomaga komuś
I dlaczego zostało to odrzucone? Czy osoba zainteresowana może wyjaśnić? – Shreyas
Moje rozwiązanie w programie Excel 2013: w nowym module I dodaje następujący kod:
Private Declare Function GetCurrentProcessId Lib "kernel32"() As Long
Public Sub Test()
Debug.Print GetCurrentProcessId
End Sub
++ do wyświetlania "Prywatne" i pełny przykład. – mklement0
- 1. Usuwanie zdjęć za pomocą programu Excel VBA
- 2. Jak zmodyfikować istniejący skoroszyt programu Excel za pomocą języka Perl?
- 3. Ładowanie pliku tekstowego Linuksa do programu Excel za pomocą VBA
- 4. Zmiana nazwy plików za pomocą programu Excel VBA
- 5. Konwertowanie formuły komórki na tekst za pomocą programu excel vba
- 6. Dodawanie komentarza do programu Excel za pomocą VBA
- 7. Wykonaj polecenie w wierszu polecenia za pomocą programu excel VBA
- 8. Techniki debugowania programu Excel VBA "Brak pamięci"
- 9. Jak uzyskać bieżący identyfikator procesu?
- 10. Jak uzyskać datę z programu Excel za pomocą biblioteki PHPExcel
- 11. Alternatywa dla edytora VBA programu Excel?
- 12. Dokumentacja dla programu Excel Makra VBA
- 13. Otwieranie dostępu z programu Excel VBA
- 14. Edytowanie arkuszy programu Excel za pomocą Pythona
- 15. Jak mogę uzyskać stdin procesu przez identyfikator procesu?
- 16. Utwórz tabelę SQL z programu Excel VBA
- 17. Drukowanie programu Excel za pomocą Interop
- 18. Jak przypisać zdarzenie do wielu obiektów za pomocą programu excel vba?
- 19. Jak uzyskać nazwę bieżącej instancji z T-SQL
- 20. Ukrywanie arkusza programu Excel z VBA
- 21. Otwieranie dokumentu Excel za pomocą programu EPPlus
- 22. Tworzenie plików programu Excel za pomocą C#
- 23. Jak skutecznie kodować łańcuch znaków base64 za pomocą Excel VBA?
- 24. Tworzenie wykresu przestawnego za pomocą programu Access 2007 VBA
- 25. Jak zapisać/zastąpić istniejący plik programu Excel za pomocą programu Excel Interop - C#
- 26. Jak zmienić nazwę tabeli dostępu przy użyciu języka VBA z programu Excel?
- 27. Jak usunąć wiersze w obiekcie ListView programu Excel na podstawie kryteriów przy użyciu języka VBA?
- 28. Jak uruchomić makro programu Excel za pomocą zadania harmonogramu?
- 29. Eksportuj tabelę HTML do programu Excel za pomocą programu ASP.NET
- 30. Eksport programu Excel bez interopu
działa świetnie; zwróć uwagę, że w modułach obiektowych VBA (np. w module powiązanym ze skoroszytem programu Excel) musisz prefiksować deklarację z 'Prywatnym'. – mklement0