Mam stare makro programu Excel 4, którego używam do uruchamiania miesięcznych faktur. Ma około 3000 linii i ma wiele arkuszy okna dialogowego Excel 5 (dla okien dialogowych). Chciałbym wiedzieć, jak najłatwiej byłoby zmienić go w Visual Basic i czy jest tego wart. Chciałbym również wiedzieć, w jaki sposób, jeśli kiedyś przekonwertowałem to na VBA, jak stworzyć samodzielną aplikację.Konwersja makr programu Excel 4 do wersji VBA
Odpowiedz
Oto dobry Artikel o tym temacie: http://msdn.microsoft.com/en-us/library/aa192490.aspx
Można pobrać VB2008-Express za darmo pod adresem: http://www.microsoft.com/express/default.aspx
AFAIK nie ma możliwości, aby przekształcić go w jakiś sposób. Musisz w zasadzie przepisać w VBA.
Po konwersji na VBA nie można uruchomić jako samodzielnej aplikacji. Ponieważ VBA stwierdza Visual Basic for Application, żyje wewnątrz aplikacji (Word, Excel, Scala, cokolwiek).
Musisz nauczyć się standardowego języka (nie makrofilmu), aby tworzyć samodzielne aplikacje. Ale musisz nauczyć się znacznie więcej niż sam język. Musisz nauczyć się różnych technik, na przykład obsługi bazy danych zamiast obsługi arkuszy Excela, drukowania zamiast drukowania Excela i tak dalej. Zasadniczo stracisz wiele funkcji, co jest oczywiste, jeśli używasz programu Excel.
Próbowałem tego wcześniej i na koniec trzeba go przepisać tak, jak powiedział Biri.
Zrobiłem sporo tej pracy, gdy nasza firma aktualizowała się z Windows NT do Windows XP. Często stwierdzałem, że łatwiej jest nie patrzeć na stary kod i zaczynać od zera. Możesz spędzić tak wiele czasu, próbując ustalić, co Excel 4 zrobił szczególnie wokół "dziwnego" okna dialogowego. W końcu, jeśli wiesz, jakie są dane wejściowe i wyjścia, często jest to bardziej czasochłonne i bardziej przejrzyste w przepisywaniu.
Niezależnie od tego, czy używać VBA, czy nie, jest w pewnym sensie inne pytanie, ale VBA jest raczej potężny i rozszerzalny, więc chociaż wolałbym używać innych narzędzi, takich jak .NET w wielu okolicznościach, działa dobrze i jest łatwy do wdrożenia.
Pod względem wartości to jest tego warte? Jeśli możesz powiedzieć, że nigdy nie będziesz potrzebował zmienić swojego makra programu Excel 4, to może nie. Ale w biznesie zawsze jest coś, co zmienia np. Stawki podatkowe, szczególnie na koniec roku. Biorąc pod uwagę, jak trudno jest znaleźć kogoś, kto mógłby obsługiwać program Excel 4, a nawet znaleźć dokumentację na jego temat, powiedziałbym, że ryzykowne jest nie przejście do VBA, ale jest to coś, co można zrównoważyć.
(Zastrzeżenie: I rozwijać biblioteki Excel-DNA)
zamiast przenosić makra VBA, który korzysta z automatyzacji COM object model, który różni się od języka makr programu Excel, raczej przenieść go do VB. NET (lub C#) działa z biblioteką Excel-DNA.
Excel-DNA pozwala na użycie C API, które bardzo dokładnie odzwierciedla język makr. Dla każdego polecenia makra, takiego jak twoje okna dialogowe, istnieje funkcja API C, która przyjmuje te same parametry. Na przykład odpowiednikiem DIALOG.BOX będzie xlfDialogBox - w tym wątku jest pewna dyskusja i przykład: http://groups.google.com/group/exceldna/browse_thread/thread/53a8253269fdf0a5.
Jedną dużą zaletą tego ruchu jest to, że możesz stopniowo zmieniać części kodu, aby korzystać z interfejsu automatyzacji COM - Excel-DNA pozwala łączyć ze sobą interfejsy COM i C API.
- 1. Dokumentacja dla programu Excel Makra VBA
- 2. Arkusz makr VBA Excel Usuń arkusze z ciągiem
- 3. Techniki debugowania programu Excel VBA "Brak pamięci"
- 4. Excel VBA trudności językowe
- 5. Ukrywanie arkusza programu Excel z VBA
- 6. Usuwanie zdjęć za pomocą programu Excel VBA
- 7. Utwórz tabelę SQL z programu Excel VBA
- 8. Alternatywa dla edytora VBA programu Excel?
- 9. Otwieranie dostępu z programu Excel VBA
- 10. Excel Upaść podczas odprawy niezmodyfikowanej skoroszytu programu Excel do programu SharePoint z VBA
- 11. Czy istnieje przyszłość VBA/VSTO programu PowerPoint?
- 12. Ładowanie pliku tekstowego Linuksa do programu Excel za pomocą VBA
- 13. Dodawanie komentarza do programu Excel za pomocą VBA
- 14. Używanie programu Excel VBA do uruchamiania kwerend SQL
- 15. VBA Excel: Dodaj jedną sekundę do czasu
- 16. Excel VBA Colon
- 17. Makro Microsoft Excel do uruchomienia programu Java
- 18. Podłączanie Excel do PostgreSQL poprzez VBA
- 19. Konwersja programu Excel do formatu JSON przy użyciu Angularjs
- 20. Konwersja dokumentu docx do programu Excel za pomocą OpenXML
- 21. konwerter excel 2003 do 2007 lub najnowsza wersja z VBA
- 22. Excel VBA ComboBox Identyfikacja
- 23. Wstawianie do ciągu znaków Excel VBA
- 24. Zmiana nazwy plików za pomocą programu Excel VBA
- 25. Filtr VBA programu Excel Zmienić moduł obsługi zdarzeń
- 26. Wykonaj polecenie w wierszu polecenia za pomocą programu excel VBA
- 27. Konwersja do programu ScheduledThreadPoolExecutor
- 28. Jak wyświetlić część programu Excel na formularzu VBA
- 29. Wykonaj plik .bat z programu Excel VBA Macro
- 30. Excel VBA Użyj zaznaczonego arkusza