2016-11-08 6 views
-1

Ich benutze diesen Code funktioniert gut beim Einfügen von Bildern und Anpassung. Das Problem, das ich habe, ist, wenn Sie in einem anderen PC öffnen die Bilder fehlen und es zeigt Link fehlt. Kann mir jemand mit dieser Lösung helfen?WIE ENTFERNE ICH LINK BILD

Sub ChangeImage() 

    With Application.FileDialog(msoFileDialogFilePicker) 
     .AllowMultiSelect = False 
     .ButtonName = "Submit" 
     .Title = "Select an image file" 
     .Filters.Clear 
     .Filters.Add "JPG", "*.JPG" 
     .Filters.Add "JPEG File Interchange Format", "*.JPEG" 
     .Filters.Add "Graphics Interchange Format", "*.GIF" 
     .Filters.Add "Portable Network Graphics", "*.PNG" 
     .Filters.Add "Tag Image File Format", "*.TIFF" 
     .Filters.Add "All Pictures", "*.*" 

     If .Show = -1 Then 
      Dim img As Object 
      Set img = ActiveSheet.Pictures.Insert(.SelectedItems(1), LinkToFile = False) 
      LinkToFile = False 
      SaveWithDocument = True 
      'Scale image size 
      'img.ShapeRange.ScaleWidth .75, msoFalse, msoScaleFromTopLeft 
      'img.ShapeRange.ScaleHeight .75, msoFalse, msoScaleFromTopLeft 

      'Position Image 
      img.Left = 568 
      img.Top = 63 

      'Set image sizes in points (71 point per inch) 
      img.Width = 155 
      img.Height = 91 
     Else 
      MsgBox ("You Forgot Your Image.") 
     End If 
    End With 
End Sub 
+0

Die 'LinkToFile' und' SaveWithDocument', sollen sie Eigenschaften eines Objekts sein? (Weil ich denke, dass sie derzeit nicht deklarierte Variablen sind. Setzen Sie "Option explizit" oben.). – GSerg

+0

Mögliches Duplikat von [VBA-Arbeitsmappe SaveChangens = Falsch, während die Arbeitsmappe weiterhin gespeichert und geschlossen wird] (http://stackoverflow.com/q/38509557/11683) – GSerg

+0

@ YowE3K Sie müssen 'LinkToFile = False' durch' LinkToFile ersetzen: = Falsch ", weshalb es ein Duplikat ist. – GSerg

Antwort

0

den folgenden Code Versuchen:

Sub ChangeImage() 

    With Application.FileDialog(msoFileDialogFilePicker) 
     .AllowMultiSelect = False 
     .ButtonName = "Submit" 
     .Title = "Select an image file" 
     .Filters.Clear 
     .Filters.Add "JPG", "*.JPG" 
     .Filters.Add "JPEG File Interchange Format", "*.JPEG" 
     .Filters.Add "Graphics Interchange Format", "*.GIF" 
     .Filters.Add "Portable Network Graphics", "*.PNG" 
     .Filters.Add "Tag Image File Format", "*.TIFF" 
     .Filters.Add "All Pictures", "*.*" 

     If .Show = -1 Then 
      Application.ActiveSheet.Shapes.AddPicture FileName:=.SelectedItems(1), _ 
                 LinkToFile:=False, _ 
                 SaveWithDocument:=True, _ 
                 Left:=568, _ 
                 Top:=63, _ 
                 Width:=155, _ 
                 Height:=91 

     Else 
      MsgBox ("You Forgot Your Image.") 
     End If 
    End With 
End Sub 

(Und, wie GSerg in einem Kommentar vorgeschlagen, umfassen Option Explicit am Anfang aller Code-Module, um sicherzustellen, dass Ihre Variablen richtig definiert sind.)