Salut,
J'essaie de créer un script pour générer une sortie et de sauvegarder un fichier PowerPoint (ou non) en fonction de la sélection de l'utilisateur. Je ne parviens pas à faire fonctionner la commande "Enregistrer la présentation" lorsqu'elle est imbriquée dans la structure de la liste déroulante H.
Le premier script fonctionne bien:
Names Default To Here( 1 );
dt1 = open(Pick File("Select the the DATA TABLE to open.")); //open a file
WinHandle2 = new Window("Graphs",Distribution(Column(2))); //generate some output of interest
product_name = dt1:Product[1]; //get the product name from the first cell in the data table
//OUTPUT report to a Powerpoint file (THIS WORKS FINE):
saveFilename=product_name ||"_Distribution_"||char(year(today())) ||"-"||char(month(today()))||".pptx";
WinHandle2 << Save Presentation(saveFilename, Outline Titles("TopLeft")); //save the output to a Powerpoint file.
//prompt user to see if they want to save and close remaining windows.
w1 = New Window("What's Next?", text box("
Save the report and Close the Data Table?
"),
// Get user input,
H List Box(Button Box("Yes",
WinHandle2<<CLOSE window=""></CLOSE>Si je déplace la commande "Enregistrer la présentation" dans la zone de liste H, un message d'erreur "Erreur lors de l'écriture du fichier de présentation." Impossible d'ouvrir en mode ReadWrite. Le système ne peut pas trouver le fichier spécifié". Voir le code non fonctionnel ci-dessous:
Names Default To Here( 1 );
dt1 = open(Pick File("Select the the DATA TABLE to open.")); //open a file
WinHandle2 = new Window("Graphs",Distribution(Column(2))); //generate some output of interest
product_name = dt1:Product[1]; //get the product name from the first cell in the data table
//prompt user to see if they want to save and close remaining windows.
w1 = New Window("What's Next?", text box("
Save the report and Close the Data Table?
"),
// Get user input,
H List Box(Button Box("Yes",
//OUTPUT report to a Powerpoint file (THIS WORKS FINE):
saveFilename=product_name ||"_Distribution_"||char(year(today())) ||"-"||char(month(today()))||".pptx";
WinHandle2 << Save Presentation(saveFilename, Outline Titles("TopLeft")); //save the output to a Powerpoint file.
WinHandle2<<CLOSE window=""></CLOSE>En gros, je veux que l’utilisateur choisisse si la présentation doit être enregistrée ou quitte. Merci d'avance pour votre aide
Voici une façon de faire ceci:
Names Default To Here( 1 );
dt1 = Open( path = Pick File( "Select the the DATA TABLE to open." ) );
pathToFolder = Left( path, Contains( path, Word( -1, path, "\/" ) ) - 1 );
Merci pour la réponse. Il est étrange que le premier ensemble de code (où la présentation de sauvegarde se trouve en dehors de la zone de liste H) fonctionne correctement.
Dans le code supérieur, le fichier est enregistré dans le dernier répertoire actif. (l'emplacement à partir duquel le script est exécuté et où se trouve le fichier de données d'entrée). Comment est-ce que je peux faire ceci avec la version du code H List Box?
Le problème est que le nom de chemin / fichier que vous transmettez à l'enregistrement de présentation pointe vers un dossier inexistant ou sur lequel aucune écriture n'a été précédée. J'ai reçu le même message lors de l'exécution de votre code, puis j'ai ajouté à la valeur product_name un chemin d'accès à un répertoire inscriptible, puis le code a bien fonctionné.