在嵌入式Excel工作簿中工作时,我遇到了PasteSpecial函数的问题。我正在使用的程序是“Promax”,它是在Visio中运行的程序框图软件,可以选择添加嵌入式Excel工作簿。我基本上在excel中设置了一些单元格,这样我就可以将一堆字段导入PDF格式。
在嵌入式工作簿中工作时,我无法使用此函数将任何输出提供给新的Excel工作表。如果我保存了promax之外的工作簿版本,则代码运行正常。如果我只是尝试粘贴而不是粘贴特殊代码工作正常,但我粘贴的所有引用都会在新工作簿中中断。
Sub ExporttotxtFile()
Dim wb As Workbook
Dim saveFile As String
Dim WorkRng As Range
On Error Resume Next
Set WorkRng = Sheets("Sheet1").Range("A1:HK2")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set wb = Application.Workbooks.Add
WorkRng.Copy
wb.Worksheets(1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
wb.Worksheets(1).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
saveFile = Application.GetSaveAsFilename(InitialFileName:="Export", fileFilter:="Text Files (*.txt), *.txt")
wb.SaveAs Filename:=saveFile, FileFormat:=xlText, CreateBackup:=False
wb.Close
Application.CutCopyMode = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
有没有人有解决方案或其他方法来完成这项工作?此代码取自:https://www.extendoffice.com/documents/excel/612-excel-export-data-to-text.html
谢谢!
答案 0 :(得分:0)
在玩这个游戏时,似乎xlPasteFormat将图像粘贴在值上而不是格式化上。我废弃了pastespecial方法并使用了不同的解决方案。
wb.Worksheets(1).Paste
wb.Worksheets(1).Range("A1:HK2").Value = WorkRng.Value
我使用第一个粘贴粘贴所有内容,并使用第二行设置值,以便格式化。
感谢大家的帮助。