标签: save-as

(保存对话框)如何在Vista/Win7中更改文件过滤器时自动更改文件扩展名?

在显示保存对话框时,我想挂钩用户的过滤器类型更改并自动更改文件扩展名.(例如像MSPaint的"另存为"操作.)

使用TSaveDialog并设置UseLatestCommonDialogs:= False,我可以通过以下代码处理此问题.(没有最新的常见对话支持,cource.)

procedure TForm1.SaveDialog1TypeChange(Sender: TObject);
var
  FName, Ext: string;
begin
  with TSaveDialog(Sender) do
  begin
    if DirectoryExists(FileName) then // FileName is Empty
      exit;
    case FilterIndex of
    1: Ext := '.png';
    2: Ext := '.bmp';
    3: Ext := '.jpg';
    end;
    FName := ChangeFileExt(ExtractFileName(FileName), Ext);
    SendMessage(Windows.GetParent(Handle), CDM_SETCONTROLTEXT, 1152, LongInt(PChar(FName)));
  end;
end;
Run Code Online (Sandbox Code Playgroud)

我想用Delphi 2007支持XP和vista/7.

我应该使用TFileSaveDialog而不是TSaveDialog与内部包装器?(我必须使用IFileDialogControlEvents来解决COM编程问题?)

或者我可以用TFileSaveDialog实现这一点,它只是标准属性吗?(我的开发环境仍然在XP机器上,所以我从未尝试过.抱歉.)

我认为这是非常常见的任务,但我找不到任何支持Vista/7的示例代码......

delphi save-as windows-vista savefiledialog windows-7

8
推荐指数
1
解决办法
1万
查看次数

仅使用页面数据通过Javascript触发浏览器的"另存为"对话框

作为页面输出的一部分,我在文本区域中包含CSV格式的数据表版本,以便用户可以轻松地将CSV导出复制/粘贴到他们选择的电子表格中.

我想要一种方法来获得一个按钮,当单击该按钮时,将触发一个"保存为"对话框,该对话框将下载已存在于页面上的textarea中的CSV内容.

目的是避免另一次访问数据库以获取CSV导出(当它已经在页面上时),同时为用户提供围绕必须创建新文件并粘贴复制的CSV的快捷方式.

这可能吗?

javascript browser dialog download save-as

8
推荐指数
1
解决办法
1万
查看次数

以编程方式将SVG形状转换为路径(lineto,moveto)

我有一个来自Inkscape,Illustrator或任何其他应用程序的SVG文件.我想形状转换为lineto,moveto,curveto格式.

我想要的是:

./Appname svgfile outfilewithpath
Run Code Online (Sandbox Code Playgroud)

我将SVG文件作为参数,然后我的应用程序将对象转换为相应的路径.

svg automation shapes save-as coordinates

8
推荐指数
2
解决办法
3453
查看次数

在Python中使用Selenium在Firefox上保存网页

我想用SeleniumPython保存网页上MacOS Firefox.

到目前为止,我已设法点击COMMAND + S弹出SAVE AS window.然而,

我不知道如何:

  1. 更改文件的目录,
  2. 更改文件的名称,和
  3. 单击SAVE AS按钮.

有人可以帮忙吗?

以下是我用来点击的代码COMMAND + S:

ActionChains(browser).key_down(Keys.COMMAND).send_keys("s").key_up(Keys.COMMAND).perform()
Run Code Online (Sandbox Code Playgroud)

此外,我使用这种方法的原因是我遇到Unicode编码错误: -

  1. 将page_source写入html文件和
  2. 将报废信息存储到csv文件中.

写一个html文件:

file_object = open(completeName, "w")
html = browser.page_source
file_object.write(html)
file_object.close() 
Run Code Online (Sandbox Code Playgroud)

写入csv文件:

csv_file_write.writerow(to_write)
Run Code Online (Sandbox Code Playgroud)

错误:

UnicodeEncodeError:'ascii'编解码器不能对位置1中的字符u'\ xf8'进行编码:序数不在范围内(128)

python firefox selenium save-as

8
推荐指数
3
解决办法
2万
查看次数

保存原件副本时另存为错误

我想知道是否有人可以帮助我.

使用我在网上找到的脚本作为"基础"我在下面写了下面的查询.

Sub Test()
  Dim wb As Workbook
  Dim ThisSheet As Worksheet
  Dim NumOfColumns As Integer
  Dim RangeToCopy As Range
  Dim RangeOfHeader As Range    'data (range) of header row
  Dim WorkbookCounter As Integer
  Dim RowsInFile           'how many rows (incl. header) in new files?
  Dim fNameAndPath As Variant


  fNameAndPath = Application.GetOpenFilename(Title:="Select File To Be Opened")
  If fNameAndPath = False Then Exit Sub
  Workbooks.Open Filename:=fNameAndPath


  Application.ScreenUpdating = False

  'Initialize data
  Set ThisSheet = ActiveWorkbook.Worksheets(1)
  NumOfColumns = ThisSheet.UsedRange.Columns.Count
  WorkbookCounter = 1
  RowsInFile = …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba save-as

8
推荐指数
1
解决办法
691
查看次数

将绘图保存到matlab中的图像文件中:saveas和print之间的区别

我想知道在matlab中将绘图保存到图像文件中时,saveas和print之间有什么区别?在什么情况下都可以使用,在什么情况下只能使用一个?

感谢致敬!

printing matlab image save-as

7
推荐指数
1
解决办法
6333
查看次数

单击数据URI锚点链接时,强制Chrome/Safari中的"另存为"框

<a href="data:text/csv;base64,CiJpZCIsInJlcXVlc3RfaWQiLCJkYXRlIiwiY29tcGFueV9uYW1lIiwiYWRkcmVzcyIsInBob25lIiwid2Vic2l0ZV91cmwiLCJwbGFjZV9wYWdlX3VybCIsImFkdmVydGlzZXIiLCJyZXZpZXdzIiwicmV2aWV3c190ZXh0Iiwib3duZXJfdmVyaWZpZWQiLCJjYXRlZ29yaWVzIiwibGF0IiwibG5nIiwicGxhY2VodG1sIiwiZ29vZ2xlX3RhZyIsIm1hcHNfdXJsIiwic2l0ZV9kZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uX2F0dHJpYnV0aW9uIiwib3duZXJfZW1haWwiLCJrZXl3b3JkIiwibGlua3MiCiIxNDc4IiwiNTMyIiwiIiwiU3RhcmJ1Y2tzIiwiMTI5OCBIb3dhcmQgU3RyZWV0LCBTYW4gRnJhbmNpc2NvLCBDQSA5NDEwMyIsIig0MTUpIDU2NS03Mzg1IiwiaHR0cDovL3d3dy5zdGFyYnVja3MuY29tLyIsImh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcy9wbGFjZT9obD1lbiZhc19xPXNhbitmcmFuY2lzY28rc3RhcmJ1Y2tzJmFzX2VwcT0mYXNfb3E9JmFzX2VxPSZudW09MTAmbHI9JmFzX2ZpbGV0eXBlPSZhc19zaXRlc2VhcmNoPSZhc19xZHI9YWxsJmFzX3JpZ2h0cz0mYXNfb2NjdD1hbnkmY3I9JmFzX25sbz0mYXNfbmhpPSZzYWZlPWltYWdlcyZ1bT0xJmllPVVURi04JnE9c2FuK2ZyYW5jaXNjbytzdGFyYnVja3MmZmI9MSZocT1zdGFyYnVja3MmaG5lYXI9U2FuK0ZyYW5jaXNjbywrQ0EmY2lkPTQ4NTI1NDg2NzIzODU5NzI1OTMmZWk9bUVWRFRhU05PWWEwbFFmV2haZ3Amc2E9WCZvaT1sb2NhbF9yZXN1bHQmY3Q9cGxhY2VwYWdlLWxpbmsmcmVzbnVtPTImdmVkPTBDQ0lRNGdrd0FRIiwiMCIsIjYiLCIiLCIxIiwiUmVzdGF1cmFudCIsIiIsIiIsIiIsIjAiLCIiLCIiLCIiLCIiLCJzYW4gZnJhbmNpc2NvIHN0YXJidWNrcyIsIkFycmF5IgoiMTQ3OSIsIjUzMiIsIiIsIlN0YXJidWNrcyIsIjEyMzEgTWFya2V0IFN0cmVldCwgU2FuIEZyYW5jaXNjbywgQ0EgOTQxMDMiLCIoNDE1KSA1MjItMTQzOCIsImh0dHA6Ly93d3cuc3RhcmJ1Y2tzLmNvbS8iLCJodHRwOi8vbWFwcy5nb29nbGUuY29tL21hcHMvcGxhY2U/aGw9ZW4mYXNfcT1zYW4rZnJhbmNpc2NvK3N0YXJidWNrcyZhc19lcHE9JmFzX29xPSZhc19lcT0mbnVtPTEwJmxyPSZhc19maWxldHlwZT0mYXNfc2l0ZXNlYXJjaD0mYXNfcWRyPWFsbCZhc19yaWdodHM9JmFzX29jY3Q9YW55JmNyPSZhc19ubG89JmFzX25oaT0mc2FmZT1pbWFnZXMmdW09MSZpZT1VVEYtOCZxPXNhbitmcmFuY2lzY28rc3RhcmJ1Y2tzJmZiPTEmaHE9c3RhcmJ1Y2tzJmhuZWFyPVNhbitGcmFuY2lzY28sK0NBJmNpZD01Mjg4Nzg4OTkwOTk4MjYyOTEzJmVpPW1FVkRUYVNOT1lhMGxRZldoWmdwJnNhPVgmb2k9bG9jYWxfcmVzdWx0JmN0PXBsYWNlcGFnZS1saW5rJnJlc251bT0zJnZlZD0wQ0NrUTRna3dBZyIsIjAiLCIzNiIsIiAiIlN0YXJidWNrcyBoYXMgdGhlIGJlc3QgY29mZmVlIiIgIC0gIGNpdHlzZWFyY2guY29tICAgLi4uICAiIklzbid0IGl0IGVub3VnaCB0aGF0IHRoZXkgYWxtb3N0IG93biBhIG1vbm9wb2x5IGF0IGFsbCBhaXJwb3J0cz8iIiAgLSAgY2l0eXNlYXJjaC5jb20gICAuLi4gICIiSXQgaXMgYSBwaXR5IHRoYXQgYSBjaGFpbiB0aGUgc2l6ZSBvZiBTdGFyYnVjaydzIGlzIGV2ZW4gb24gdGhpcyAiIkJlc3Qgb2YiIiBsaXN0IiIgIC0gIGNpdHlzZWFyY2guY29tICAgLi4uICAiIkV2ZW4gd29yc2UgbW9vZCIiICAtICBjaXR5c2VhcmNoLmNvbSAgIC4uLiAgIiJTZXJ2aWNlIGlzIHVzdWFsbHkgZ3JlYXQiIiAgLSAgY2l0eXNlYXJjaC5jb20gICAuLi4gICIiR3JlYXQgam9iIGd1eXMhIiIgIC0gIGNpdHlzZWFyY2guY29tICAgLi4uICAiIlRoaW5rIGFib3V0IGl0ISIiICAtICBjaXR5c2VhcmNoLmNvbSAgICAiLCIxIiwiQ2FmZSwgQ29mZmVlICZhbXA7IFRlYSwgQ29mZmVlIFNob3BzLCBSZXN0YXVyYW50cywgQ29mZmVlIEhvdXNlcyAmYW1wOyBDYWZlcywgUmVzdGF1cmFudCIsIiIsIiIsIiIsIjAiLCIiLCIiLCIiLCIiLCJzYW4gZnJhbmNpc2NvIHN0YXJidWNrcyIsIkFycmF5IgoiMTQ4MCIsIjUzMiIsIiIsIlN0YXJidWNrcyIsIjE4OTkgVW5pb24gU3RyZWV0LCBTYW4gRnJhbmNpc2NvLCBDQSA5NDEyMyIsIig0MTUpIDkyMS00MDQ5IiwiaHR0cDovL3d3dy5zdGFyYnVja3MuY29tLyIsImh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vbWFwcy9wbGFjZT9obD1lbiZhc19xPXNhbitmcmFuY2lzY28rc3RhcmJ1Y2tzJmFzX2VwcT0mYXNfb3E9JmFzX2VxPSZudW09MTAmbHI9JmFzX2ZpbGV0eXBlPSZhc19zaXRlc2VhcmNoPSZhc19xZHI9YWxsJmFzX3JpZ2h0cz0mYXNfb2NjdD1hbnkmY3I9JmFzX25sbz0mYXNfbmhpPSZzYWZlPWltYWdlcyZ1bT0xJmllPVVURi04JnE9c2FuK2ZyYW5jaXNjbytzdGFyYnVja3MmZmI9MSZocT1zdGFyYnVja3MmaG5lYXI9U2FuK0ZyYW5jaXNjbywrQ0EmY2lkPTk1NjE5NTAwNjUwMTYwMTgwMCZlaT1tRVZEVGFTTk9ZYTBsUWZXaFpncCZzYT1YJm9pPWxvY2FsX3Jlc3VsdCZjdD1wbGFjZXBhZ2UtbGluayZyZXNudW09NCZ2ZWQ9MENEQVE0Z2t3QXciLCIwIiwiMzUiLCIiLCIxIiwiQ2FmZSwgQ29mZmVlICZhbXA7IFRlYSwgQ29mZmVlIFNob3BzLCBDb2ZmZWUgSG91c2VzICZhbXA7IENhZmVzIiwiIiwiIiwiIiwiMCIsIiIsIiIsIiIsIiIsInNhbiBmcmFuY2lzY28gc3RhcmJ1Y2tzIiwiQXJyYXkiCg==">Export This</a>
Run Code Online (Sandbox Code Playgroud)

以上是包含基本64位编码的csv数据导出的数据URI.在我的应用程序的报告页面上,我将导出嵌入到每个页面视图中,以便导出不需要再次访问数据库.

在Firefox 3中,单击此链接将打开另存为"下载"对话框.在Chrome 9中单击它不会做任何事情.我可以在Chrome中右键单击保存,它会将解码后的csv写入文件.在Safari中单击它会在浏览器窗口中打开解码的CSV数据,然后我可以手动保存.

在IE中...谁在乎,我是对的吗?

您可以通过将其中的<a>标记全部复制到名为test.html的空白文件中并在每个浏览器中打开它来重现此测试.它的行为与我的应用程序环境中的行为完全相同.

问题:当用户单击数据URI链接时,是否有办法强制弹出"另存为"对话框,如在Firefox中一样?或者其他一些方法来解决这种不一致问题?

理论上,Firefox,Chrome和Safari都支持数据URI.在实践中.......

anchor dialog cross-browser save-as data-uri

7
推荐指数
1
解决办法
4091
查看次数

Chrome - 使用"数据"网址时,右键菜单中的"另存为..."已停用

如果将以下内容粘贴到chrome中的url栏并尝试右键单击 - >另存为...则另存为...将显示为灰色.有什么方法可以阻止它变灰?

网址:

data:text/html;charset=utf-8,%3C%21DOCTYPE%20html%3E%0D%0A%3Chtml%20lang%3D%22en%22%3E%0D%0A%3Chead%3E%3Ctitle%3EEmbedded%20Window%3C%2Ftitle%3E%3C%2Fhead%3E%0D%0A%3Cbody%3E%3Ch1%3E42%3C%2Fh1%3E%3C%2Fbody%3E%0A%3C%2Fhtml%3E%0A%0D%0A
Run Code Online (Sandbox Code Playgroud)

google-chrome right-click save-as data-uri

7
推荐指数
1
解决办法
7306
查看次数

将excel范围保存为pdf的VBA脚本

我尝试在我的代码中添加一个范围,但我没有运气.我希望能够在vba中创建一个脚本,以"另存为"特定工作表或特定范围到pdf.任何帮助将非常感激.

以下是我一直在使用的内容:

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "c:\Book1.pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=True
Run Code Online (Sandbox Code Playgroud)

谢谢,

pdf excel vba excel-vba save-as

7
推荐指数
1
解决办法
7万
查看次数

提示用户使用"另存为"对话框保存文件?

我目前有这个代码:

function download(filename, text) {
        var pom = document.createElement('a');
        pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
        pom.setAttribute('download', filename);
        pom.click();
}

download('test.html', string);
Run Code Online (Sandbox Code Playgroud)

string包含许多以.html文件编写的html代码.
上面的代码工作正常:点击一下按钮,浏览器(chrome)会自动下载一个带有写入其中的字符串内容的html文件.

现在,我想要做的是,而不是自动下载文件的chrome,它应该打开一个"另存为"对话框,并询问用户文件的位置和名称,然后将其下载到该位置.

一个快速简单的回复将非常感激.

html javascript save-as

7
推荐指数
1
解决办法
2万
查看次数