Microsoft z jakiegoś powodu usunął możliwość skanowania bezpośrednio z Worda z powrotem w pakiecie Office 2010 (usunięty wraz z przydatnym narzędziem MODI - Microsoft Office Document). W nowszych wersjach programów Word 2013 i Word 2016 nie ma również przycisku skanowania bezpośrednio z dokumentu Word. Aby wstawić obraz ze skanera do programu Word, musisz zeskanować obraz w pliku obrazu na dysk za pomocą okna dialogowego narzędzia skanera od producenta skanera, a następnie wstawić zapisany plik obrazu do dokumentu programu Word. Wszystko to jest bardzo niewygodne, szczególnie gdy trzeba skanować i wklejać dziesiątki obrazów dziennie do dokumentów Word.
W tym artykule przyjrzymy się, jak dodać własny przycisk uruchamiania kreatora Skanuj do programu Word oraz kod małego makra VBA, które pozwala automatycznie skanować i wklejać obrazy ze skanera bezpośrednio do programu Word. Ta instrukcja dotyczy Word 2016, 2013 i 2010 (uwzględnij różnice w interfejsie).
Dodaj nowe makro skanowania do naszego programu Word 2016.
- Idź do zakładki Zobacz i wybierz Makra -> Makra.
- Na liście rozwijanej Makra z wybierz Normal.dotm (szablon ogólny). Wpisz nazwę makra WIA_Scan i naciśnij przycisk Utwórz.
- W wyświetlonym oknie Edytora Visual Basic wybierz menu Narzędzia -> Referencje.
- Z listy połączonych bibliotek wybierz Microsoft Windows Image Acquisition Library v2.0. Ta biblioteka systemu Windows umożliwia dostęp do skanerów z kodu VBA. Obsługiwane są tylko sterowniki skanera z obsługą WIA (Windows Imaging Architecture). Dlatego możemy użyć klas bibliotek skanowania WIA (wiaaut.dll) w kodzie VBA.
- Wklej następujący kod VBA do edytora Visual Basic:
Sub WIA_Scan ()
''
„Makro WIA_Scan dla MS Office 2016/2013
''
''
Po błędzie Wznów dalej
Dim objWIADialog As WIA.CommonDialog
Dim objScanImage As WIA.ImageFile
Przyciemnij datę
„inicjalizacja obiektów WIA
Ustaw objWIADialog = Nowy WIA.CommonDialog
Ustaw objScanImage = objWIADialog.ShowAcquireImage
„ścieżka do pliku tymczasowego
strDate = Environ („temp”) & „\ Scan.jpg”
Jeśli nie objScanImage to nic, to wtedy
„usuń stary plik
Kill strDate
„zapisz skan w pliku tymczasowym
objScanImage.SaveFile strDate
„wklej plik Scan.jpg do dokumentu Word
Selection.InlineShapes.AddPicture strDate
Ustaw objScanImage = Nic
Zakończ jeśli
Ustaw objWIADialog = Nic
End sub
Wskazówka. W programie Word 2010 wystarczy podać następujący kod (jednak w programach Word 2016 i 2013 nie działa, ponieważ funkcja WordBasic.InsertImagerScan w pakiecie Office 2010 została usunięta).Sub WIA_Scan ()
Po błędzie Wznów dalej
WordBasic.InsertImagerScan
End sub - Teraz pozostaje dodać nową sekcję do wstążki Word i dodać do niej nasze makro (dodałem przycisk skanowania do zakładki Wstaw). Przejdź do ustawień wstążki, dodaj nową grupę, do której umieścisz makro (możesz zmienić ikonę przycisku).
Spróbuj teraz kliknąć nowy przycisk skanowania..
Makro VBA umożliwia wywołanie standardowego okna dialogowego interfejsu WIA. Jeśli system ma kilka źródeł WIA, pojawi się monit o wybranie urządzenia, z którego chcesz uzyskać obraz.
Po wybraniu urządzenia WIA pojawi się standardowe okno dialogowe skanera z ustawieniami skanowania i oknem podglądu..
Po wybraniu ustawień skanowania naciśnij przycisk Skanuj i poczekaj na zakończenie skanowania.
Makro automatycznie zapisze zeskanowany obraz w tymczasowym pliku jpg i wklei go do otwartego dokumentu programu Word. W dokumencie Word możesz zmienić rozmiar i położenie wstawionego zeskanowanego obrazu.
Jak widać, teraz wygodniej jest wstawić obraz ze skanera do dokumentu Word.