"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Excel 2003: Problem mit Makro

salsa 17.01.2008 - 11:36 1168 8
Posts

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5279
Ich habe ein kleines Problem mit einem Makro:

Code:
Option Explicit

Sub InsertPicture()
    
   Dim sPath As String
   Dim sBildPfad As String
   Dim lRes As Long
    
   'Hier den Pfad eingeben von wo aus die Bilder geöffnet werden sollen
   sBildPfad = "C:\Dokumente und Einstellungen\mihinte\Desktop\cair"
    
   'aktuellen PicturePfad merken
   sPath = Options.DefaultFilePath(Path:=wdPicturesPath)
    
   'Bildpfad ändern
   Options.DefaultFilePath(Path:=wdPicturesPath) = sBildPfad
      
   'Dialog öffnen
   lRes = Application.Dialogs(wdDialogInsertPicture).Show
    
   'Pfad zurücksetzten
   Options.DefaultFilePath(Path:=wdPicturesPath) = sPath
    
   If lRes <> 0 And ActiveDocument.InlineShapes.Count > 0 Then
      'wenn bild eingefügt wurde, dann Bildgrösse anpassen
      Call BildGroesse(ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count))
   End If
    
End Sub

Sub BildGroesse(oPic As InlineShape)
   Dim iScale As Single
   Dim iBreite As Single

   iBreite = 188 'Bildgrösse in Pixel

   oPic.LockAspectRatio = msoTrue
   ' Skalierungsfaktor in Pixel für Breite festlegen
   iScale = (iBreite / oPic.Width) * 100
   oPic.ScaleWidth = iScale
   oPic.ScaleHeight = iScale
End Sub

Dabei gehts ganz einfach darum, mehrere Bilder auf einmal einzufügen und dabei gleich die Auflösung bzw. Größe der Bilder anzupassen. Leider funktioniert das momentan nur zur Hälfte - bei einer Mehrfachauswahl wird mir immer nur das erste Bild skaliert, alle anderen bleiben größer. Was muss am Code geändert werden?

Vorweg, das Makro ist nicht von mir ;)
tia
Bearbeitet von salsa am 27.02.2009, 11:23

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5279
up :) Und gleich noch ein Problem :mad:

click to enlarge

Die Felder bzw. Variablen werden von einem SAP Interface geladen (oder sollten das zumindest), wo kann da der Fehler liegen dass mir anstatt den Werten nur mehr die Funktionen und Variablen angezeigt werden? Ist das Einstellungssache in Word?

Abermals tia :)

edit: Es handelt sich um SAP-OLE Links.
Bearbeitet von salsa am 22.01.2008, 07:53

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5279
Up.

Das zweite Problem habe ich gelöst (Felder geschützt), aber das Makro würde noch immer den Feinschliff benötigen :)

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5279
Mein letzter Versuch - vielleicht weiß ja jemand was ;)

FrankEdwinWrigh

stuck on the outside
Avatar
Registered: Nov 2002
Location: im 21. Jhdt.
Posts: 2507
passt ja fast schon ins coding stuff, vielleicht kann dir dort geholfen werden http://www.ms-office-forum.net

Mfg fEW

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5279
Danke für den Tipp, auf die Seite bin ich per Google noch nie gestoßen wenn ich mal wieder ein Problem mit Office hatte :)

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5279
Nach wie vor besteht ersteres Problem - das Makro bekomm ich eifnach nicht hin. Weiß evtl. jemand Rat? :)

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5279
Da ich auch auf oc.at ein paar Office Füchse erwarte - ein neues Problem bzw. eine neue Aufgabenstellung:

Ich möchte die Kommentare von bestimmten Zellen in die Zellen in einer anderen Arbeitsmappe kopieren...

Code:
Sub CopyComments()
  Dim cell As Range
  
  For Each cell In Selection
      If Not cell.Comment Is Nothing Then
        cell.Offset(0, 1).Value = cell.Comment.Text
      End If
  Next
End Sub

Das Makro ersetzt mir ja den bestehenden Wert einer Zelle mit dem Wert des Kommentars. Hat jemand eine Idee wie ich den Wert in eine andere Mappe verschieben kann?

tia

edit: Evtl. noch ein anderer Ansatz: Gibt es eine Funktion mit der ich den Wert des Kommentars in die Zelle bringe? So ganz ohne Makro?

edit 2: Das Modul
Code:
Public Function Kommentar(Zelle As Range) As String
Application.Volatile
If Zelle.Cells.Count <> 1 Then Exit Function

On Error GoTo Fehler
Kommentar = Zelle.Comment.Text
Exit Function

Fehler:
Kommentar = ""
End Function

bringt mir den Inhalt des Kommentars nun in eine Zelle. :) Jedoch wird in Kommentaren ja mit Umbrüchen usw. gearbeitet... :( Wie bringe ich die Umbrüche weg und die zwei Zahlenwerte (z.B. 5415100 und 5416942) im Excel schön untereinander ohne irgendwelche Sonderzeichen etc.?

click to enlarge
Bearbeitet von salsa am 27.02.2009, 11:52

salsa

So spät wie gestern.
Avatar
Registered: Oct 2003
Location: Bonner Exil #2
Posts: 5279
Anyone? :(
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz