我有Tableau Desktop 9.2,专业版。我希望能够有一个预定的工作,可以打开工作簿,刷新仪表板,并生成PDF。任何人都可以建议吗?
UPD。吴大方建议我采用this方法。
我当前的AutoIt脚本是
Local $tableaufile = "C:\test.twb"
WinActivate($tableaufile);
WinWaitActive($tableaufile);
Send("!f",0);
Send("D");
WinWaitActive("Print to PDF");
Send("{ENTER}"); Send enter key
WinWaitActive("Save PDF");
Send("test unique name");
Send("{ENTER}");
不幸的是,这不起作用:当我在SciTE脚本编辑器中打开脚本并点击F5时,进程不会退出 - 我必须按Ctrl键 - 并且没有PDF文件。
UPD2。纠正了第一个WinWait调用,并切换到MouseClick - 仍然没有快乐。
Local $tableaufile = "C:\Users\Dimitri Shvorob\Documents\My Tableau Repository\Workbooks\test.twb"
WinActivate($tableaufile);
WinWait("Tableau - test", 10);
Send("!f",0);
Send("D");
MouseClick("Left", 829, 523);
MouseClick("Left", 1248, 690);
WinKill("Tableau - test");
答案 0 :(得分:0)
在大方的帮助下,我得到了剧本。我之前尝试的一个问题是,这些是为了在工作簿已经打开的情况下运行。 (咄!)
$tableau = "C:\Program Files\Tableau\Tableau 9.2\bin\tableau.exe"
Run($tableau);
WinWait("Tableau - Book1");
Send("!f");
Send("^o");
WinWait("Open");
Send("Graham");
Send("{ENTER}");
WinWait("Tableau - Graham");
Send("!f");
Send("D");
WinWait("Print to PDF");
Send("{ENTER}");
WinWait("Save PDF");
Send("Graham Test");
Send("{ENTER}");
WinKill("Tableau - Graham");
答案 1 :(得分:0)
你可以像这样使用TabCmd做同样的事情
tabcmd login -s http://tableauserver -u *user* -p *password*
tabcmd export "Project/Dashboardname?:refresh=yes" --width 1920 --height 1080 --png -f "\\server\path\dashboardname.png"