Hallo,
Aufgrund der Protokoll/Firmware-Entwicklung (PTP) in den Kompaktkameras werden diese nicht mehr als Laufwerk unter Windows eingebunden. In Word kann man somit nicht mehr direkt auf die Kamera zugreifen um Bilder einzufügen.
Ist-Umgebung: Canon PowerShot A480; WindowsXP; Office2003;
Anforderung: Makro innerhalb von Word2003 über das der "Bild von Kamera oder Scanner einfügen"-Dialog geöffnet wird, mehrere Bilder selektiert und mit einer Größenbeschränkung in Word eingefügt werden können.
Hat von Euch einer eine Idee, wie ich die Anforderung umsetzen kann -> Bild einfügen funktioniert aber wie kann ich die Größe der Bilder beschränken?
Im Moment erhalte ich immer eine Fehlermeldung "Laufzeitfehler'450' Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft"
Danke schon einmal im Voraus.
Scriptgerüst bis jetzt:
' #########################################################
'
' Diese Routine fügt die gewünschte Grafik ein
'
' #########################################################
Public Const iMaxFileSize = 300000 ' Maximale Dateigröße in Byte
Sub InsertPicture()
'Variablen
Dim lFileSize As Long ' Dateigröße
Dim sFileName As String ' Dateiname
'Word2003 call to Scanner software
WordBasic.InsertImagerScan
------------------------->8
'Ab hier ist es nur noch Mutmaßung -> da ich nicht weis, was von WordBasic.InsertImagerScan übergeben wird um die Dateigröße zu bestimmen...
' Dateinamen herausfinden
sFileName = WordBasic.InsertImagerScan("") '<- Das scheint nicht zu funktionieren...
' Wurde eine Datei ausgewählt?
If Not sFileName = "" Then
' Größe der Datei ermitteln
lFileSize = FileLen(sFileName)
' Ist die Datei größer als der Grenzwert?
If lFileSize < iMaxFileSize Then
' Nein, dann Grafik einfügen
Set shpCanvas = Selection.InlineShapes.AddPicture(FileName:=sFileName, _
LinkToFile:=False, SaveWithDocument:=True)
' Grafik nicht mehr ausblenden (für den Ausdruck)
shpCanvas.Select
Selection.Font.Hidden = False
Else
' Ja, dann Meldung ausgeben
MsgBox sMessage, vbCritical + vbOKOnly, "Grafikgröße verändern"
End If
End If
End Sub
Aufgrund der Protokoll/Firmware-Entwicklung (PTP) in den Kompaktkameras werden diese nicht mehr als Laufwerk unter Windows eingebunden. In Word kann man somit nicht mehr direkt auf die Kamera zugreifen um Bilder einzufügen.
Ist-Umgebung: Canon PowerShot A480; WindowsXP; Office2003;
Anforderung: Makro innerhalb von Word2003 über das der "Bild von Kamera oder Scanner einfügen"-Dialog geöffnet wird, mehrere Bilder selektiert und mit einer Größenbeschränkung in Word eingefügt werden können.
Hat von Euch einer eine Idee, wie ich die Anforderung umsetzen kann -> Bild einfügen funktioniert aber wie kann ich die Größe der Bilder beschränken?
Im Moment erhalte ich immer eine Fehlermeldung "Laufzeitfehler'450' Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft"
Danke schon einmal im Voraus.
Scriptgerüst bis jetzt:
' #########################################################
'
' Diese Routine fügt die gewünschte Grafik ein
'
' #########################################################
Public Const iMaxFileSize = 300000 ' Maximale Dateigröße in Byte
Sub InsertPicture()
'Variablen
Dim lFileSize As Long ' Dateigröße
Dim sFileName As String ' Dateiname
'Word2003 call to Scanner software
WordBasic.InsertImagerScan
------------------------->8
'Ab hier ist es nur noch Mutmaßung -> da ich nicht weis, was von WordBasic.InsertImagerScan übergeben wird um die Dateigröße zu bestimmen...
' Dateinamen herausfinden
sFileName = WordBasic.InsertImagerScan("") '<- Das scheint nicht zu funktionieren...
' Wurde eine Datei ausgewählt?
If Not sFileName = "" Then
' Größe der Datei ermitteln
lFileSize = FileLen(sFileName)
' Ist die Datei größer als der Grenzwert?
If lFileSize < iMaxFileSize Then
' Nein, dann Grafik einfügen
Set shpCanvas = Selection.InlineShapes.AddPicture(FileName:=sFileName, _
LinkToFile:=False, SaveWithDocument:=True)
' Grafik nicht mehr ausblenden (für den Ausdruck)
shpCanvas.Select
Selection.Font.Hidden = False
Else
' Ja, dann Meldung ausgeben
MsgBox sMessage, vbCritical + vbOKOnly, "Grafikgröße verändern"
End If
End If
End Sub
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ilpostimo“ ()