[Bug 41981] Custom VB6 application can' t use Excel VBA Object model with WPS Office (ProgID 'Excel.Application' reserved for MS Office product)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon May 7 06:38:23 CDT 2018


https://bugs.winehq.org/show_bug.cgi?id=41981

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|                            |http://wdl1.cache.wps.cn/wp
                   |                            |s/download/W.P.S.4994.19.55
                   |                            |2.exe
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID
            Version|unspecified                 |2.0-rc1
                 CC|                            |focht at gmx.net
           Keywords|                            |download
            Summary|export to excel in vb6 show |Custom VB6 application
                   |error                       |can't use Excel VBA Object
                   |                            |model with WPS Office
                   |                            |(ProgID 'Excel.Application'
                   |                            |reserved for MS Office
                   |                            |product)

--- Comment #6 from Anastasius Focht <focht at gmx.net> ---
Hello Lokesh,

Nikolay already asked the right question: How compatible is Kingsoft Office/WPS
Office on the Excel VBA Object model as compared to the original Microsoft
Office products?
Do they register all COM classes with the same ProgIDs/CLSIDs as Microsoft and
implement all the objects functionality?

'Export2Excel.vbp'

--- snip ---
Type=Exe
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\system32\stdole2.tlb#OLE
Automation
Reference=*\G{420B2830-E718-11CF-893D-00A0C9054228}#1.0#0#C:\Windows\system32\scrrun.dll#Microsoft
Scripting Runtime
Reference=*\G{00020813-0000-0000-C000-000000000046}#1.6#0#C:\Program
Files\Microsoft Office\Office12\EXCEL.EXE#Microsoft Excel 12.0 Object Library
Form=Form_Export2Excel.frm
Startup="Form_Export2Excel"
ExeName32="Export2Excel.exe"
Command32=""
Name="Proj_Export2Excel"
...
--- snip ---

'Form_Export2Excel.frm':

--- snip ---
...
Option Explicit
Dim m_Excel As Excel.Application
...
Private Function CreateExcelFile() As Boolean
    On Error GoTo EH
    Dim FSO As FileSystemObject

    Dim FilePath As String
    CreateExcelFile = False

    Set m_Excel = New Excel.Application
    Set FSO = New FileSystemObject

...

Private Sub ExportData()
    Dim ExcelWorkSheet As Excel.Worksheet
    Dim i As Integer, RowNo As Integer, ColNo As Integer

    Set ExcelWorkSheet = m_Excel.ActiveWorkbook.ActiveSheet
    ColNo = 5

    RowNo = 1
    ExcelWorkSheet.Range("A1", "G1").Merge
    ExcelWorkSheet.Cells(RowNo, 1).Font.Name = "Times New roman"
    ExcelWorkSheet.Cells(RowNo, 1).Font.Size = 15
    ExcelWorkSheet.Cells(RowNo, 1).HorizontalAlignment = xlCenter
    ExcelWorkSheet.Range("A1", "G1").ColumnWidth = 20
    For i = 1 To 7
        ExcelWorkSheet.Cells(RowNo, i).BorderAround 1, xlThin,
xlColorIndexAutomatic
    Next
    ExcelWorkSheet.Cells(RowNo, 1).Value = "SAMPLE CODE FOR EXPORT TO EXCEL"
...
--- snip ---

I've found an older article here:

http://www.binarynow.com/office-suite/kingsoft-office-compatible-with-microsoft-office-visual-basic-automation-vba/

--- quote ---
Automating Kingsoft Spreadsheets

Before you can use any scripts written for Microsoft Excel, you will need to
replace all instances of Excel.Application with et.Application. Copy the below
code into a text file named example.vbs. This code will open Kingsoft
Spreadsheets, add two rows of data, and save the file to C:\TEMP\example.xls.
--- quote ---

They are likely reimplementing the underlying object model but can't
re-use/claim the officially assigned ProgIDs/CLSIDs -> won't be legal.

Please research the capabilities of software products more carefully before
trying things like this.

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list