Sub Macro3()
    ' Recorded 2010-6-26
    Dim openopt As StructOpenOptions
    Set openopt = CreateStructOpenOptions
    With openopt.ColorConversionOptions
        .SourceColorProfileList = "sRGB IEC61966-2.1,Japan Color 2001 Coated,Dot Gain 15%"
        .TargetColorProfileList = "sRGB IEC61966-2.1,Japan Color 2001 Coated,Dot Gain 15%"
    End With
    Dim doc1 As Document
    Set doc1 = OpenDocumentEx("H:\0010.cdr", openopt)
End Sub
请问这个函数在delphi中调用第二个参数怎么写??数据类型怎么定义?
obj.OpenDocumentEx('H:\0010.cdr',????????这个地方怎么写);

解决方案 »

  1.   

    那个不是delphi的函数,也不是windows的api
    那个是vb document对象的一个方法,delphi里不能照抄,你要在delphi里找到一个类似documnet的对象来处理
      

  2.   

    没看懂为什么要用2个Gosub打开界面
      

  3.   

    Sub Macro3()
      ' Recorded 2010-6-26
      Dim openopt As StructOpenOptions
      Set openopt = CreateStructOpenOptions
      With openopt.ColorConversionOptions
      .SourceColorProfileList = "sRGB IEC61966-2.1,Japan Color 2001 Coated,Dot Gain 15%"
      .TargetColorProfileList = "sRGB IEC61966-2.1,Japan Color 2001 Coated,Dot Gain 15%"
      End With
      Dim doc1 As Document
      Set doc1 = OpenDocumentEx("H:\0010.cdr", openopt)
    End Subtype
      ColorConversionOptions = record
        SourceColorProfileList: string;
        TargetColorProfileList: string;
      end;
      Topenopt = record
        xxx: xxxx //这个我就不知道了
        ColorConversionOptions: TColorConversionOptions;
      end;//把StructOpenOptions结构按照delphi定义一边赋值后直接给就好。然后赋值:var
      openopt: Topenopt;
    begin
      openopt.ColorConversionOptions.SourceColorProfileList := 'sRGB IEC61966-2.1,Japan Color 2001 Coated,Dot Gain 15%' 
    //其他的自己赋值
      obj.OpenDocumentEx('H:\0010.cdr',openopt);
    //...
    end;