(源自網絡)PB OLE控制EXCEL的全面認識

1.創建Excel對象
eole=CREATEOBJECT(′Excel.application′)

2.添加新工作簿
eole.Workbooks.add

3.設置第3個工作表為啟動工作表
eole.Worksheets(″sheet3″).Activate

4.打開指定工作簿
eole.Workbooks.Open(″c:\temp\ll.xls″)

5.顯示Excel視窗
eole.visible=.t.

6.更改Excel標題欄
eole.Caption=″VFP應用程式調用Microsoft Excel″

7.給單格賦值
eole.cells(1,4).value=XM(XM為資料庫欄位名)

8.設置指定列的寬度(單位:字元個數)
eole.ActiveSheet.Columns(1).ColumnWidth=5

9.設置指定行的高度(單位:磅)
eole.ActiveSheet.Rows(1).RowHeight=1/0.035

(設定行高為1釐米,1磅=0.035釐米)

10.在第18行之前插入分頁符
eole.Worksheets(″Sheet1″).Rows(18).PageBreak=1

11.在第4列之前刪除分頁符
eole.ActiveSheet.Columns(4).PageBreak=0

12.指定邊框線寬度(Borders參數如下)
ole.ActiveSheet.Range(″b3:d3″).Borders(2).Weight=3

13.設置四個邊框線條的類型
eole.ActiveSheet.Range(″b3:d3″).Borders(2).LineStyle=1

(其中Borders參數:1-左、2-右、3-頂、4-底、5-斜、6-斜/;LineStyle值:1與7-細實、2-細虛、4-點虛、9-雙細實線)

14.設置頁眉
eole.ActiveSheet.PageSetup.CenterHeader=″報表1″

15.設置頁腳
eole.ActiveSheet.PageSetup.CenterFooter=″第&P頁″

16.設置頁眉到頂端邊距為2釐米
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035

17.設置頁腳到底邊距為3釐米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035

18.設置頂邊距為2釐米
eole.ActiveSheet.PageSetup.TopMargin=2/0.035

19.設置底邊距為4釐米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035

20.設置左邊距為2釐米
veole.ActiveSheet.PageSetup.LeftMargin=2/0.035

21.設置右邊距為2釐米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035

22.設置頁面水平居中
eole.ActiveSheet.PageSetup.CenterHorizontally=.t.

23.設置頁面垂直居中
eole.ActiveSheet.PageSetup.CenterVertically=.t.

24.設置頁面紙張大小(1-窄行8511 39-寬行1411)
eole.ActiveSheet.PageSetup.PaperSize=1

25.列印單格網線
eole.ActiveSheet.PageSetup.PrintGridlines=.t.

26.拷貝整個工作表
eole.ActiveSheet.UsedRange.Copy

27.拷貝指定區域
eole.ActiveSheet.Range(″A1:E2″).Copy

28.粘貼
eole.WorkSheets(″Sheet2″).Range(″A1″).PasteSpecial

29.在第2行之前插入一行
eole.ActiveSheet.Rows(2).Insert

30.在第2列之前插入一列
eole.ActiveSheet.Columns(2).Insert

31.設置字體
eole.ActiveSheet.Cells(2,1).Font.Name=″黑體″

32.設置字體大小
eole.ActiveSheet.Cells(1,1).Font.Size=25

33.設置字體為斜體
eole.ActiveSheet.Cells(1,1).Font.Italic=.t.

34.設置整列字體為粗體
eole.ActiveSheet.Columns(1).Font.Bold=.t.

35.清除單格公式
eole.ActiveSheet.Cells(1,4).ClearContents

36.列印預覽工作表
eole.ActiveSheet.PrintPreview

37.列印輸出工作表
eole.ActiveSheet.PrintOut

38.工作表另為
eole.ActiveWorkbook.SaveAs(″c:\temp\22.xls″)

39.放棄存檔
eole.ActiveWorkbook.saved=.t.

40.關閉工作簿
eole.Workbooks.close

41.退出Excel
eole.quit

(源自網絡)PB及ASA的打包說明

一.安裝步驟
一般地說發佈一個PB應用除應用程式部件本身外,還應該包含如下檔及相關操作:
1. PowerBuilder運行時動態連結程式庫( Runtime Library )。
2. 資料庫介面:一方面包括PB提供的資料庫專用介面或ODBC介面程式,另一方面包括不同資料庫廠商提供的ODBC資料庫驅動程式。
3. ODBC資料源的配置。
二.PowerBuilder運行時動態連結程式庫( Runtime Library )。
不同版本的PB所需要的運行時動態連結程式庫檔不盡相同,但庫名有相似的地方,這些DLL都必須包含在應用程式目錄或系統目錄當中:
PB6.5所需文件:
必需 PBVM60.DLL PowerBuilder 虛擬機
可選 PBDWE60.DLL DataWindow 資料視窗引擎
可選 PBRTC60.DLL 超文本控制項
可選 PBTRA60.DLL 資料庫訪問跟蹤
可選 PBODB60.DLL PB的ODBC介面
可選 PBIN760.DLL INFORMIX 介面
可選 PBMSS60.DLL Microsoft SQL Server介面
可選 PBSYC60.DLL Sybase SQL Server介面
可選 PBO7360.DLL/PBO7260.DLL Oracle Version介面
PB7.0所需文件:
必需 PBVM70.DLL PowerBuilder 虛擬機
必需 LIBJCC.DLL PowerBuilder 庫管理
可選 PBDWE70.DLL DataWindow 資料視窗引擎
可選 PBRTC70.DLL 超文本控制項
可選 PBTRA70.DLL 資料庫訪問跟蹤
可選 PBODB70.DLL PB的ODBC介面 
可選 PBIN770.DLL INFORMIX 介面
可選 PBMSS70.DLL Microsoft SQL Server介面
可選 PBSYC70.DLL Sybase SQL Server介面
可選 PBO7370.DLL/PBO8470.DLL Oracle Version介面
PB8.0所需文件:
必需 PBVM80.DLL PowerBuilder 虛擬機
必需 LIBJCC.DLL PowerBuilder 庫管理
可選 PBDWE80.DLL DataWindow 資料視窗引擎
可選 PBRTC80.DLL 超文本控制項
可選 PBTRA80.DLL 資料庫訪問跟蹤
可選 PBODB80.DLL PB的ODBC介面 
可選 PBIN780.DLL INFORMIX 介面
可選 PBMSS80.DLL Microsoft SQL Server介面
可選 PBSYC80.DLL Sybase SQL Server介面
可選 PBO7380.DLL/PBO8480.DLL/PBO9080.DLL Oracle Version介面
以上檔可以在C:\Program Files\Sybase\Shared\PowerBuilder取得。

三. SQL Anywhere ODBC資料庫驅動程式。
SQL Anywhere 5.0:
DBTL50T.DLL 資料庫工具
DBL50T.DLL 資料庫介面
WODBC.HLP 幫助文檔
WOD50T.DLL ODBC 驅動
WL50ENT.DLL 英文字串
WTR50T.DLL ODBC翻譯
DBENG50.EXE 資料庫引擎
SQL Anywhere 6.0:
DBL60T.DLL,WODBC.HLP,WOD60T.DLL,WL60ENT.DLL,WTR60T.DLL,DBENG60.EXE
SQL Anywhere 7.0:
DBODBC7.DLL,DBLIB7.DLL,DBWTSP7.DLL,DBLGEN7.DLL,DBODTR7.DLL,DBENG7.EXE
四. ODBC資料源配置。
在包含以上檔之後,還必需對使用ODBC資料庫方式的應用進行ODBC資料源的配置,以便在安裝完畢後應用程式可以直接訪問用戶資料源。
下面以使用SQL Anywhere 5.0資料庫創建的用戶資料庫為例來說明如何使用資料源管理器進行ODBC的手工配置及如何在安裝程式中自動修改系統註冊表,其他資料庫可以參考SQL Anywhere 5.0進行操作。
1.使用資料源管理器配置用戶資料源。
1.1. 安裝SQL Anywhere資料庫驅動程式,使資料源管理器中的"ODBC驅動程式"頁增加一行SQL Anywhere的驅動說明。
1.2. 在"用戶DSN"一頁選擇"添加",然後選擇SQL Anywhere資料源,出現資料源的配置資訊表後,將資料源名(Data Source Name),資料庫名(Database File),用戶ID號(User ID),用戶密碼(Password)等資訊添齊,選擇"OK"確認,此時在"用戶資料源"的視窗中就會增加用戶的資料庫的ODBC驅動,選擇"確認"後退出資料源管理器。
進行以上兩步以後重新啟動系統,用戶就可以在運行應用程式後使用SQL Anywhere資料庫。
2. 修改系統註冊表配置用戶資料源。
(以下注:C:\YourApp為用戶應用程式目錄,C:\YourApp\Sqlany50為應用套裝程式含的SQL Anywhere資料庫驅動檔目錄,YourDB.DB為用戶資料庫。)
在HKEY_LOCAL_MACHINE\software\ODBC\ODBC Drivers下,增加字串鍵值:
Sybase SQL Anywhere 5.0 = "Installed"
在HKEY_LOCAL_MACHINE\software\ODBC\Sybase SQL Anywhere 5.0下,增加字串鍵值:
Driver = "C:\YourApp\Sqlany50\WOD50T.DLL"
Setup = "C:\YourApp\Sqlany50\WOD50T.DLL"
在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Source下,增加字串鍵值:
TestDB = "Sybase SQL Anywhere 5.0"
在HKEY_CURRENT_USER\Software\ODBC\ODBC.INI下,增加主鍵:TestDB,並分別加入鍵值如下:
Autostop = "yes"
Databasefile = "C:\YourApp\YourDB.DB
Databasename = "TestDB"
Driver = "C:\YourApp\Sqlany50\WOD50T.DLL"
PWD = "sql"
Start = "C:\YourApp\Sqlany50\dbeng50.exe -d -c1024 -Q"
UID = "dba"
在用戶的安裝程式中將以上步驟加入,可以使用戶的應用程式在不必安裝SQL Anywhere資料庫驅動下,也能直接訪問用戶資料源,從而實現用戶應用程式的獨立發佈。
integer rc
string ls_dir,is_dbfile,is_datasource
ulong ls_buf
is_datasource="graduate"
ls_buf=256
ls_dir=space(ls_buf)
GetCurrentdirectoryA(ls_buf,ls_dir)
is_dbfile=ls_dir+'\graduate.db'
rc=profileint("first.ini","start","first",0)
if rc=1 then
if RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Driver",RegString!,"dbodbc7.dll")=1 then
messagebox("恭喜你","資料源已註冊成功!")
end if
RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Setup",RegString!,"dbodbc7.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources","graduate",RegString!,"Adaptive Server Anywhere 7.0")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Driver",RegString!,"dbodbc7.dll")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"UID",RegString!,"dba")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"PWD",RegString!,"sql")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseFile",RegString!,is_dbfile)
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"AutoStop",RegString!,"Yes")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Integrated",RegString!,"No")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DatabaseName",RegString!,"graduate.db")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"Debug",RegString!,"No")
RegistrySet("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\"+is_datasource,"DisableMultiRowFetch",RegString!,"No")
setprofilestring("first.ini","start","first","0")
end if
只需要把datasource等幾個地方改一下就可以了
其中的graduate是我的資料庫名
if RegistrySet("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\"+"Adaptive Server Anywhere 7.0","Driver",RegString!,"dbodbc7.dll")=1
這一句就是driver的配置
上述連接為代碼實現,下面的是由打包程式實現的註冊表項
有兩中連接
1.本地連接
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ASA 8.0 Sample]
"Driver"="C:\\Program Files\\Sybase\\SQL Anywhere 8\\win32\\dbodbc8.dll"
"Description"="Adaptive Server Anywhere Sample Database"
"UID"="dba"
"PWD"="sql"
"EngineName"="asademo8"
"DatabaseFile"="C:\\Program Files\\Sybase\\SQL Anywhere 8\\asademo.db"
"Start"="C:\\Program Files\\Sybase\\SQL Anywhere 8\\win32\\dbeng8.exe  -c 8m"
"AutoStop"="yes"
START項有許多參數,“-C 8M”設置初始快取記憶體大小8M,一般建議64M。“-Q”安靜模式 — 取消輸出,就是系統拖盤中不顯示資料庫引擎圖表。‘-D’禁用非同步 I/O [Windows NT 、NetWare]。‘-M’對於所有資料庫,在每個檢查點之後截斷事務日誌。
2.網路連接
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ASA 8.0 Client Sample]
"Driver"="C:\\Program Files\\Sybase\\SQL Anywhere 8\\win32\\dbodbc8.dll"
"Description"="Adaptive Server Anywhere Sample Client"
"UID"="dba"
"PWD"="sql"
"EngineName"="asademo8"
"CommLinks"="TCPIP{}"
"AutoStop"="yes"
注意:如果你要在WINDOWS的ODBC中看到的分發的資料庫,還要以下的資訊
[HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources]
"ASA 8.0 Client Sample"="Adaptive Server Anywhere 8.0"(網路連接)
"ASA 8.0 Sample"="Adaptive Server Anywhere 8.0"(本地連接)
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Adaptive Server Anywhere 8.0]
"Driver"="C:\\Program Files\\Sybase\\SQL Anywhere 8\\win32\\dbodbc8.dll"
"Setup"="C:\\Program Files\\Sybase\\SQL Anywhere 8\\win32\\dbodbc8.dll"
該註冊項為你分發DLL的實際路徑。

(源自網絡)Adaptive Server Anywhere(SQL Anywere7,8)伺服器方式啟動和用戶端設置方法

具體步驟: 
1.保證網路暢通,建議用tcp/ip協議; 
2.某機器作為伺服器,按以下命令行啟動資料庫: 
   dbsrv7.exe  c:/xxx/yyy.db  -n  ServiceName  -x  tcpip  -c16m  -q  -o  c:/test.log 
   參數含義:  -n  servicename  ,啟動服務名為servicename的資料庫服務用以標記網路資料庫服務唯一標記; 
   -x  tcpip:使用tcp/ip協定,默認埠3362,注意不要被佔用; 
   -c  16m  :緩存使用  16m 
   -q  後臺方式運行,沒有資料庫運行介面,只能看到進程; 
   -o  c:/test.log  記錄啟動、連接、關閉日誌到  c:/test.log文件。 
3.啟動成功後,另外機器操作: 
   ODBC  ->  新建一個Adaptive  SQL  Anywhere7.0資料源,配置如下: 
   1.ODBC  ->  dns  name:數據源名稱 
   2.Login->  登錄用戶/密碼 
   3.Database  ->  ServerName處輸入步驟2中指定的serviceName 
   4.Network    ->  鉤中tcp/ip,參數處輸入2中啟動伺服器所在機器的IP,格式如下:  HOST=192.168.0.1 其他協議都可以不選。 
4.重複3步驟,就可以配置多個用戶端了,當然,伺服器上也可以配置一個ODBC來連接到自己的。