本文介绍: ​WPS官网的WPS开放平台开发文档,摘抄一些以记录及作为文档的入口记录,以后对WPS表格操作编程再也不是从网上搜索到的只字片语了^_^。

WPS官网WPS开放平台开发文档,摘抄一些以记录及作为文档的入口记录,以后对WPS表格操作编程再也不是从网上搜索到的只字片语了^_^。

Workbook.SaveAs

在另一不同文件保存工作簿所做的更改

语法

express.SaveAs(FilenameFileFormatPasswordWriteResPasswordReadOnlyRecommendedCreateBackupAccessModeConflictResolutionAddToMruTextCodepageTextVisualLayoutLocal)

express   一个代表 Workbook 对象变量

参数

名称 必选/可选 数据类型 说明
Filename 可选 Variant 一个表示保存文件文件名字符串。可包含完整路径,如果不指定路径,ET 将文件保存到当前文件夹中。
FileFormat 可选 Variant 保存文件使用文件格式。要查看有效的选项列表,请参阅 XlFileFormat 枚举。对于现有文件,默认采用一次指定文件格式;对于新文件,默认采用当前所用 ET 版本格式
Password 可选 Variant 它是一个区分大小写字符串(最长不超过 15 个字符),用于指定文件的保护密码
WriteResPassword 可选 Variant 一个表示文件写保护密码字符串。如果文件保存时带有密码,但打开文件时不输入密码,则该文件以只读方式打开
ReadOnlyRecommended 可选 Variant 如果为 True,则在打开文件时显示一条消息提示该文件以只读方式打开。
CreateBackup 可选 Variant 如果为 True,则创建备份文件
AccessMode 可选 XlSaveAsAccessMode 工作簿的访问模式
ConflictResolution 可选 XlSaveConflictResolution 一个 XlSaveConflictResolution 值,它确定方法在保存工作簿时如何解决冲突。如果设为 xlUserResolution,则显示冲突解决对话框。如果设为 xlLocalSessionChanges,则自动接受本地用户更改。如果设为 xlOtherSessionChanges,则自动接受来自其他会话更改(而不是本地用户更改)。如果省略此参数,则显示冲突处理对话框
AddToMru 可选 Variant 如果为 True,则将该工作簿添加到最近使用的文件列表中默认值为 False。
TextCodepage 可选 Variant ET中对于所有语言忽略此参数注释:当 ET 将工作簿保存为某种 CSV 或文本格式使用 FileFormat 参数指定)时, ET 使用对应当前计算机使用系统区域设置语言代码页。在“控制面板”中单击区域语言”,再单击“位置选项卡,在“当前位置”下可获得此系统设置
TextVisualLayout 可选 Variant ET中对于所有语言忽略此参数注释:当 ET 将工作簿保存为某种 CSV 或文本格式使用 FileFormat 参数指定)时,它按逻辑布局保存这些格式。如果文件中左至右 (LTR) 文本嵌在右至左 (RTL) 文本中,或者相反,那么逻辑布局将把文件的内容,按照文件中所有语言正确阅读顺序保存,而不考虑方向。当应用程序打开文件时,每串 LTR 或 RTL 字符将根据代码页中的字符范围,按照正确方向呈现。(除非用来打开文件的应用程序是为显示文件的确切内存布局而设计应用程序,如调试器编辑器)。
Local 可选 Variant 如果为 True,则以 ET(包括控制面板设置)的语言保存文件。如果为 False(默认值),则以 示例代码 (VBA) 的语言保存文件。VBA 通常为美国英语版本,除非从中运行 Workbooks.Open 的 VBA 项目是旧的国际化 XL5/95 VBA 项目

XlFileFormat 枚举


指定保存工作表时的文件格式

名称 说明
xlAddIn 18 ET 2007 加载
xlAddIn8 18 ET 97-2003 加载
xlCSV 6 CSV
xlCSVMac 22 Macintosh CSV
xlCSVMSDOS 24 MSDOS CSV
xlCSVWindows 23 Windows CSV
xlCurrentPlatformText -4158 当前平台文本
xlDBF2 7 DBF2
xlDBF3 8 DBF3
xlDBF4 11 DBF4
xlDIF 9 DIF
xlExcel12 50 ET 12
xlExcel2 16 ET 2
xlExcel2FarEast 27 Excel2 FarEast
xlExcel3 29 Excel3
xlExcel4 33 Excel4
xlExcel4Workbook 35 Excel4 工作簿
xlExcel5 39 Excel5
xlExcel7 39 Excel7
xlExcel8 56 Excel8
xlExcel9795 43 Excel9795
xlHtml 44 HTML 格式
xlIntlAddIn 26 国际加载
xlIntlMacro 25 国际宏
xlOpenDocumentSpreadsheet 60 OpenDocument 电子表格
xlOpenXMLAddIn 55 打开 XML 加载
xlOpenXMLTemplate 54 打开 XML 模板
xlOpenXMLTemplateMacroEnabled 53 打开启用的 XML 模板
xlOpenXMLWorkbook 51 打开 XML 工作簿
xlOpenXMLWorkbookMacroEnabled 52 开启用的 XML 工作簿宏
xlSYLK 2 SYLK
xlTemplate 17 模板
xlTemplate8 17 模板 8
xlTextMac 19 Macintosh 文本
xlTextMSDOS 21 MSDOS 文本
xlTextPrinter 36 打印机文本
xlTextWindows 20 Windows 文本
xlUnicodeText 42 Unicode 文本
xlWebArchive 45 Web 档案
xlWJ2WD1 14 WJ2WD1
xlWJ3 40 WJ3
xlWJ3FJ3 41 WJ3FJ3
xlWK1 5 WK1
xlWK1ALL 31 WK1ALL
xlWK1FMT 30 WK1FMT
xlWK3 15 WK3
xlWK3FM3 32 WK3FM3
xlWK4 38 WK4
xlWKS 4 工作表
xlWorkbookDefault 51 默认工作簿
xlWorkbookNormal -4143 常规工作簿
xlWorks2FarEast 28 Works2 FarEast
xlWQ1 34 WQ1
xlXMLSpreadsheet 46 XML 电子表格
102 102 ofd
103 103 pdf
65521 65521 et
65522 65522 ett
65523 65523 uof
65525 65525 uos
Column.AutoFit

改变表格列宽,使之在单元格文本换行方式不变的情况下,适应文本宽度

语法

express.AutoFit()

express   一个代表 Column 对象变量

说明

如果表格的宽度已等于从左边界到右边界距离,则此方法无效

示例

示例代码复制
/*本示例在新文档创建一个 3x3 表格然后调整第一列的宽度,使之与文本的宽度相称。*/
function test() {
    let docNew = Application.Documents.Add()
    let tableNew = docNew.Tables.Add(Selection.Range, 3, 3)
    tableNew.Cell(1, 1).Range.InsertAfter("First cell")
    tableNew.Columns.Item(1).AutoFit()
}
示例代码复制
/*本示例在新文档创建一个 3x3 表格然后调整所有列的宽度,使之与文本的宽度相称。*/
function test() {
    let docNew = Application.Documents.Add()
    let tableNew = docNew.Tables.Add(Selection.Range, 3, 3)
    tableNew.Cell(1, 1).Range.InsertAfter("First cell")
    tableNew.Cell(1, 2).Range.InsertAfter("This is cell (1,2)")
    tableNew.Cell(1, 3).Range.InsertAfter("(1,3)")
    tableNew.Columns.AutoFit()
}

有个表格,列数比较多,行数比较少,我想自动调整到一页打印,便要知道分页所在的列,于是上百度搜索(搜索:vb.net 获取WPS表格分页列),人工智能给出了下面代码,还未测试是否可行。 

Imports Microsoft.Office.Interop.Excel
 
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim excelApp As New Application()
        Dim workbook As Workbook = excelApp.Workbooks.Open("C:pathtoyourfile.xlsx")
        Dim worksheet As Worksheet = workbook.Sheets("Sheet1") ' 替换为你的工作表名称
 
        Dim pageSetup As PageSetup = worksheet.PageSetup
        Dim pageColumns As Range = pageSetup.PrintArea
 
        ' 输出分页列的范围
        Console.WriteLine("分页列的范围:")
        Console.WriteLine(pageColumns.Address)
 
        workbook.Close()
        excelApp.Quit()
    End Sub
End Class

上面的应该是获得全部打印区域范围,再结合人工智能(搜索:vb.net 获取WPS表格分页)给出一个获得所有页的代码,应该就差不多能实现了。

Imports System
Imports System.Runtime.InteropServices
 
Public Class Program
    Public Shared Sub Main()
        Dim wpsApp As Object = CreateObject("KWPS.Application")
        Dim wpsDoc As Object = wpsApp.ActiveDocument
        Dim wpsSheet As Object = wpsDoc.ActiveSheet
 
        Dim pageCount As Integer = wpsSheet.PageSetup.Pages.Count
        Console.WriteLine("WPS表格的分页数量为:" & pageCount)
 
        ' 释放COM对象
        Marshal.ReleaseComObject(wpsSheet)
        Marshal.ReleaseComObject(wpsDoc)
        Marshal.ReleaseComObject(wpsApp)
    End Sub
End Class

原文地址:https://blog.csdn.net/zslefour/article/details/134766174

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_36136.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注