2009-07-21 8 views
0

J'essaye de télécharger directement une image/diagramme d'Excel à une URL de groupe de Sharepoint. Voici le script:Erreur 70 dans Excel VBA


Sous ExportChartJPG()

ActiveChart.Export Nom du fichier: = "http://sharepoint.ap.xxxxxxxxxxxxxx.com/xxxxxx/xxxxxxxxxxxxxx/Pictures/MyChart.jpg", _FilterName: = "jpeg"

End Sub


Est-ce possible? Si ce n'est pas le cas, pouvez-vous suggérer une autre façon de le faire? Merci

Répondre

0

Vous pouvez uniquement exporter vers un fichier, pas vers une URL. Ainsi, vous pouvez exporter vers un fichier temporaire sur disque, puis soumettre le fichier à votre serveur Web. Vous auriez bien sûr besoin du serveur web pour avoir la possibilité de recevoir des fichiers. Et maintenant, à partir de l'URL, c'est un serveur SharePoint, oui? Vraisemblablement une bibliothèque de documents SharePoint? Dans ce cas, vous devez écrire un code pour utiliser l'une des techniques suivantes pour télécharger le fichier:

Si vous voulez faire dans VBA, la bibliothèque MSXML3 peut être utile car elle vous permettra de faire des requêtes HTTP.


EDIT: OK, en fonction de vos commentaires, voici un simple script VBScript pour vous aider à démarrer. Cela ouvre un classeur Excel à un emplacement connu et exporte la première feuille de graphique.

Enregistrez-le sous "test.vbs", puis double-cliquez dessus pour l'exécuter (après avoir créé un fichier Excel approprié, etc.).

Dim oExcel : Set oExcel = CreateObject("Excel.Application") 

Dim oWorkbook : Set oWorkbook = oExcel.Workbooks.Open("C:\test.xls") 

Dim oChart : Set oChart = oWorkbook.Charts(1) 

oChart.Export "C:\chart.jpg", "JPEG" 

oWorkbook.Close False 

oExcel.Quit 

Comme je l'ai dit dans mon commentaire, VBScript est très bien comme VBA, mais l'inconvénient est qu'il n'y a pas typage fort, afin de ne pas IntelliSense, etc. Il est plus facile de créer le script dans VBA où avez ont Intellisense (et un débogueur, etc.) et puis "port" à VBScript.

+0

Merci pour votre réponse, je vais essayer de comprendre comment le faire. Quoi qu'il en soit, comme question complémentaire, est-ce que je peux le rendre automatisé? Je veux dire, puis-je automatiser l'exportation de l'image à partir d'un fichier Excel puis le télécharger dans une bibliothèque de partage? Le scénario est que je vais devoir créer un script qui peut être exécuté dans cmd alors la procédure est terminée. Le but est totalement aucune intervention humaine. Comment ferais-je cela? (Je suis un débutant donc je suis désolé si je continue à demander.) J'espère que vous pouvez supporter avec moi Merci encore –

+0

@perfs: Oui, cela peut être fait, mais ce n'est pas trivial. Vous pouvez utiliser VBScript (qui ressemble beaucoup à VBA) pour démarrer Excel, ouvrir le classeur, exporter le graphique, puis effectuer le téléchargement vers SharePoint. Et cela pourrait être lancé par une tâche planifiée ou similaire. Je vous suggère de faire un pas à la fois (peut-être commencer par la partie Export et oublier SharePoint pour l'instant) - et être prêt à faire beaucoup d'étapes. –

+0

Vous pouvez également utiliser une approche VBScript/VBA 'hybride'. Créez une macro VBA dans le classeur qui effectue l'exportation et le téléchargement.Le créer un script VBScript pour démarrer Excel et invoquer la macro. – codeape