Exporter des images à partir de fichier excel en format jpg à l'aide de VBA
J'ai un fichier Excel qui comprend des images dans la colonne B, et je tiens à exporter en plusieurs fichiers .jpg (ou toute autre image file format). Le nom du fichier doit être généré à partir du texte dans la colonne A. j'ai essayé de macro VBA suivante:
Private Sub CommandButton1_Click()
Dim oTxt As Object
For Each cell In Ark1.Range("A1:A" & Ark1.UsedRange.Rows.Count)
' you can change the sheet1 to your own choice
saveText = cell.Text
Open "H:\Webshop_Zpider\Strukturbildene\" & saveText & ".jpg" For Output As #1
Print #1, cell.Offset(0, 1).text
Close #1
Next cell
End Sub
Le résultat est qu'il génère des fichiers (jpg), sans aucun contenu. Je suppose que la ligne Print #1, cell.Offset(0, 1).text.
est faux.
Je ne sais pas ce que je dois le changer, cell.Offset(0, 1).pix
?
Quelqu'un peut-il m'aider? Merci!
Vous pouvez utiliser ceci add-in
comment sont les photos stockées? si ils sont dans activex les contrôles d'image c'est une simple ligne de code pour enregistrer l'image; si non, vous aurez besoin de plus de code compliqué ou un add-in, comme celle qui est proposée
Salut, je n'ai pas l'ajouter à exécuter (version 2007). Échec: "mauvais nombre d'arguments et d'affectation de propriété non valide". Kerstin
social.msdn.microsoft.com/Forums/vstudio/en-US/... <- une discussion d'une version plus complexe de ce problème - extraire les images à leur taille d'origine, c'est à dire 100% des pixels de l'échelle.
comment sont les photos stockées? si ils sont dans activex les contrôles d'image c'est une simple ligne de code pour enregistrer l'image; si non, vous aurez besoin de plus de code compliqué ou un add-in, comme celle qui est proposée
Salut, je n'ai pas l'ajouter à exécuter (version 2007). Échec: "mauvais nombre d'arguments et d'affectation de propriété non valide". Kerstin
social.msdn.microsoft.com/Forums/vstudio/en-US/... <- une discussion d'une version plus complexe de ce problème - extraire les images à leur taille d'origine, c'est à dire 100% des pixels de l'échelle.
OriginalL'auteur KEK79 | 2013-08-14
Vous devez vous connecter pour publier un commentaire.
Ce code:
a été copié directement à partir de ici, et fonctionne à merveille pour les cas que j'ai testé.
OriginalL'auteur Stewbob
Si je me souviens bien, vous avez besoin d'utiliser les "Formes" de la propriété de votre feuille.
Chaque Forme de l'objet a une TopLeftCell et BottomRightCell attributs qui vous indiquent la position de l'image.
Voici un morceau de code que j'ai utilisé il y a longtemps, à peu près adapté à vos besoins. Je ne me souviens pas des détails au sujet de tous ceux ChartObjects et autres joyeusetés, mais ici il est:
OriginalL'auteur Jean Robert
""Définir la Plage que vous souhaitez exporter vers le dossier
Workbooks("votre nom de classeur").Sheets("yoursheet nom").Sélectionnez
OriginalL'auteur Vikash Kumar Singh
Voici une autre façon cool de le faire - à l'aide de fr visionneuse externe qui accepte les commutateurs de ligne de commande (IrfanView dans ce cas) :
* Je me suis inspirée de la boucle sur ce que Michal Krzych a écrit ci-dessus.
Edit:
OriginalL'auteur El Scripto
Allégée le code à un minimum absolu, si nécessaire.
OriginalL'auteur Ian Brigmann
De nouvelles versions d'excel ont fait vieux réponses obsolètes. Il a fallu beaucoup de temps pour le faire, mais il fait un assez bon travail. Notez que la taille de l'image est limitée et le ratio d'aspect est jamais si légèrement, que je n'étais pas parfaitement capable d'optimiser la refonte de mathématiques. Notez que j'ai nommé l'un de mes feuilles de calcul wsTMP, vous pouvez la remplacer par de la feuille Sheet1. Prend environ 1 seconde à imprimer de l'écran pour le chemin d'accès cible.
OriginalL'auteur Dexterious22