重现的步骤:
$1:$1
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "TempQry", "C:\Book1.xlsx"
为什么“打印预览”不可用,为什么“在顶部重复的行”框为空?
答案 0 :(得分:1)
这似乎是Access中的一个错误。我不确定它为什么会发生,但我确实发现它是一个错误。
要进行校对,请重复上述步骤以重现。在第3步之后,右键单击Book1.xlsx并选择7-zip - >打开存档...(显然需要7-zip)。打开文件夹" xl"在存档内部,然后打开workbook.xml文件。
请注意xml文件中的以下文本:
<definedName name="_xlnm.Print_Titles" localSheetId="0">Sheet1!$1:$1</definedName>
现在关闭7-zip存档并继续上面的步骤。在第5步之后,通过7-zip重新打开Book1.xlsx - &gt;打开存档...打开xl \ workbook.xml并注意上面的文本已更改为:
<definedName name="_xlnm.Print_Titles" localSheetId="0">'Sheet1'!$A$1:$IV$1</definedName>
换句话说,MS Access做了一些努力......标准化......工作簿的定义名称。为此,它将列添加到仅行范围($1:$1
- &gt; $A$1:$IV$1
)。
如果您将列设置为在左侧重复,则会发生同样的情况:($A:$A
- &gt; $A$1:$A$1048576
)。
有趣的是,如果您声明两行在顶部重复而列在左侧重复,则可以避免错误:
<definedName name="_xlnm.Print_Titles" localSheetId="0">Sheet1!$A:$A,Sheet1!$1:$1</definedName>
<强>解决方法:强>
CopyFromRecordset()