VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

一樣的 .Selection ,我的卻是 ole 程式錯誤!!!

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
區榮熾



註冊時間: 2005-11-14
文章: 191


第 1 樓

發表發表於: 星期二 三月 24, 2009 7:53 pm    文章主題: 一樣的 .Selection ,我的卻是 ole 程式錯誤!!! 引言回覆

oleApp=Createobject("Excel.Application")
If Type("oleApp")="U"
=MessageBox("本機上未安裝 EXCEL 軟體 ! ",0+48, (Sys_na2) )
Releas oleApp, cDir_old
Return
Endif
Excelfile= SYS(5)+Curdir()+"Data\Xls\Score_base.xls"
oleApp.Visible=.T.
oleApp.Workbooks.open( Excelfile)
o=oleApp.activeWorkbook.activesheet
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Select
With o.Selection
.ColumnWidth = 14
.NumberFormatLocal = "#,##0.0_ "
.Font.Name = "新細明體"
.FontStyle = "斜體"
ENDWITH
VFP是前段,資料處理好要交EXCEL印出,以上程式碼居然出錯:
OLE 錯誤程式碼 0x80020006: UNknown name

不解的是 錯在 With o.Selection 這一行,我也是抄來的(一字一字的抄,有抄錯?)
恭請識者指導.....
回頂端
檢視會員個人資料 發送私人訊息
宏偉軟件



註冊時間: 2009-02-19
文章: 11


第 2 樓

發表發表於: 星期二 三月 24, 2009 9:01 pm    文章主題: 引言回覆

oleApp=Createobject("Excel.Application")
If Type("oleApp")="U"
=MessageBox("本機上未安裝 EXCEL 軟體 ! ",0+48, (Sys_na2) )
Releas oleApp, cDir_old
Return
Endif
Excelfile= SYS(5)+Curdir()+"Data\Xls\Score_base.xls"
oleApp.Visible=.T.
oleApp.Workbooks.open( Excelfile)
o=oleApp.activeWorkbook.activesheet
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").ColumnWidth=14
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").NumberFormatLocal = "#,##0.0_ "
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Font.Name = "新細明體"
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Font.FontStyle = "斜體"

_________________
承接 進銷存、財務軟件,各種企業管理軟件
電話:13075408924
公司網站:www.honwaysoft.com
qq:540072618
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 3 樓

發表發表於: 星期二 三月 24, 2009 10:06 pm    文章主題: 引言回覆

.FontStyle = "斜體"
改成
.font..FontStyle = "斜體"

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
區榮熾



註冊時間: 2005-11-14
文章: 191


第 4 樓

發表發表於: 星期三 三月 25, 2009 4:29 am    文章主題: 引言回覆

宏偉軟件 寫到:
oleApp=Createobject("Excel.Application")
If Type("oleApp")="U"
=MessageBox("本機上未安裝 EXCEL 軟體 ! ",0+48, (Sys_na2) )
Releas oleApp, cDir_old
Return
Endif
Excelfile= SYS(5)+Curdir()+"Data\Xls\Score_base.xls"
oleApp.Visible=.T.
oleApp.Workbooks.open( Excelfile)
o=oleApp.activeWorkbook.activesheet
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").ColumnWidth=14
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").NumberFormatLocal = "#,##0.0_ "
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Font.Name = "新細明體"
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Font.FontStyle = "斜體"

謝謝 宏偉軟件 & garfield 二位大師的指導,程式已簡化多了(原是一行一行的設定)
程式太長,才要動手簡化,所以不懂的就從基本開始.....
進入 EXCEL 開一 sheet 錄下要做的動作,編輯巨集,抄錄程式碼,換成VFP 碼..
不解的是 Selection 仿用不成,是否與版本有關呢? 那麼這 Selection 不是指 Select 所選的範圍嗎? (我就是這樣的意思的去套用,卻換回 UnKnown name)
我也利用搜尋 SELECTION 得到文章樣本,套入我的程式就錯誤,不懂不解????
真奇怪,真奇怪,一隻老虎沒有尾..............別人可以我就不行..........
回頂端
檢視會員個人資料 發送私人訊息
bin1x



註冊時間: 2004-08-27
文章: 462


第 5 樓

發表發表於: 星期三 三月 25, 2009 5:39 pm    文章主題: 引言回覆

可能多重選擇,不能形成它(vfp)認識的物件吧,哈
也許在那段程式中斷,在debug 視窗,看o.selection可不可以展開
就知道它是不是物件了
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
區榮熾



註冊時間: 2005-11-14
文章: 191


第 6 樓

發表發表於: 星期四 三月 26, 2009 8:02 am    文章主題: 引言回覆

bin1x 寫到:
可能多重選擇,不能形成它(vfp)認識的物件吧,哈
也許在那段程式中斷,在debug 視窗,看o.selection可不可以展開
就知道它是不是物件了

謝謝bin1x 大
多欄位改成單一的Select,再用 With o.Selection EndWith 還是一樣的不認識..

不用簡易方式,程式也一樣進行,多鍵些碼而已............再找原因,慢慢來....
回頂端
檢視會員個人資料 發送私人訊息
chilin



註冊時間: 2003-10-01
文章: 79
來自: Taipei,Taiwan

第 7 樓

發表發表於: 星期四 三月 26, 2009 12:47 pm    文章主題: 引言回覆

oleApp=Createobject("Excel.Application")
If Type("oleApp")="U"
=MessageBox("本機上未安裝 EXCEL 軟體 ! ",0+48, (Sys_na2) )
Releas oleApp, cDir_old
Return
Endif
Excelfile= SYS(5)+Curdir()+"Data\Xls\Score_base.xls"
oleApp.Visible=.T.
oleApp.Workbooks.open( Excelfile)

oleApp.WORKSHEETS("SHEET1").ACTIVATE
oleApp.COLUMNS("B:B").ColumnWidth=14

OR
oleApp.COLUMNS(2).ColumnWidth=14

這樣試試看!!!

_________________
一個喜愛Latte的男人
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
區榮熾



註冊時間: 2005-11-14
文章: 191


第 8 樓

發表發表於: 星期四 三月 26, 2009 4:05 pm    文章主題: 引言回覆

chilin 寫到:
oleApp=Createobject("Excel.Application")
If Type("oleApp")="U"
=MessageBox("本機上未安裝 EXCEL 軟體 ! ",0+48, (Sys_na2) )
Releas oleApp, cDir_old
Return
Endif
Excelfile= SYS(5)+Curdir()+"Data\Xls\Score_base.xls"
oleApp.Visible=.T.
oleApp.Workbooks.open( Excelfile)

oleApp.WORKSHEETS("SHEET1").ACTIVATE
oleApp.COLUMNS("B:B").ColumnWidth=14

OR
oleApp.COLUMNS(2).ColumnWidth=14

這樣試試看!!!

謝謝 chilin 大所寫的,我的程式可以執行的.....
我要的是 .Selection 為何不能像其他高手們使用 With oleapp.selection ..
EndWith 一樣方式 的設定, 真不知 .Selection 是什麼東東,我用時就出現 Unknown Name 的錯誤訊息......(不知這 .Selection 的HELP 在那兒找....)
回頂端
檢視會員個人資料 發送私人訊息
sean27



註冊時間: 2008-08-17
文章: 49


第 9 樓

發表發表於: 星期四 三月 26, 2009 6:30 pm    文章主題: 引言回覆

>>> With o.Selection
應該是 with oleApp.Selection 才對吧

_________________
foxpro & php 初學者
回頂端
檢視會員個人資料 發送私人訊息
區榮熾



註冊時間: 2005-11-14
文章: 191


第 10 樓

發表發表於: 星期四 三月 26, 2009 8:18 pm    文章主題: 引言回覆

sean27 寫到:
>>> With o.Selection
應該是 with oleApp.Selection 才對吧

o=oleApp.activeWorkbook.activesheet
我已經用 o 簡化了,即不需用那麼樣長的句子,應該不是這問題(我也用過oleapp.Selection 結果一樣 UNknown name)
謝謝 sean27 兄的指導......
回頂端
檢視會員個人資料 發送私人訊息
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 11 樓

發表發表於: 星期四 三月 26, 2009 9:12 pm    文章主題: 引言回覆

oleApp=Createobject("Excel.Application")
If Type("oleApp")="U"
=MessageBox("本機上未安裝 EXCEL 軟體 ! ",0+48, (Sys_na2) )
Releas oleApp, cDir_old
Return
Endif
Excelfile= SYS(5)+Curdir()+"Data\Xls\Score_base.xls"
oleApp.Visible=.T.
oleApp.Workbooks.open( Excelfile)
o=oleApp.activeWorkbook.activesheet
**下兩行改為其下的三行,原因懶得說,多多利用 [命令] 視窗的 IntelliSense 功能 (當然要有支援此功能的 VFP 版本)
**o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Select
**With o.Selection
bb = o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R")
WITH bb
.Select
.ColumnWidth = 14
.NumberFormatLocal = "#,##0.0_ "
.Font.Name = "新細明體"
** 下一行改為其下一行
**.FontStyle = "斜體"
.Font.FontStyle = "斜體"
ENDWITH

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
區榮熾



註冊時間: 2005-11-14
文章: 191


第 12 樓

發表發表於: 星期五 三月 27, 2009 9:35 am    文章主題: 引言回覆

朱育興 寫到:
oleApp=Createobject("Excel.Application")
If Type("oleApp")="U"
=MessageBox("本機上未安裝 EXCEL 軟體 ! ",0+48, (Sys_na2) )
Releas oleApp, cDir_old
Return
Endif
Excelfile= SYS(5)+Curdir()+"Data\Xls\Score_base.xls"
oleApp.Visible=.T.
oleApp.Workbooks.open( Excelfile)
o=oleApp.activeWorkbook.activesheet
**下兩行改為其下的三行,原因懶得說,多多利用 [命令] 視窗的 IntelliSense 功能 (當然要有支援此功能的 VFP 版本)
**o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Select
**With o.Selection
bb = o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R")
WITH bb
.Select
.ColumnWidth = 14
.NumberFormatLocal = "#,##0.0_ "
.Font.Name = "新細明體"
** 下一行改為其下一行
**.FontStyle = "斜體"
.Font.FontStyle = "斜體"
ENDWITH

朱老師: 謝謝您!
.Select 我不用, 因為在寫資料及設定,同時進行,畫面晃動很大,不理想之故.
其他就達到目的了,也就是山不轉路轉,Unknown > Known......成了, 謝謝啦!
回頂端
檢視會員個人資料 發送私人訊息
sean27



註冊時間: 2008-08-17
文章: 49


第 13 樓

發表發表於: 星期五 三月 27, 2009 4:58 pm    文章主題: 引言回覆

我試了以下程式碼, 程式執行無誤

oleApp=Createobject("Excel.Application")
oleApp.Visible=.T.
oleapp.workbooks.add
oleApp.SHEETS.ADD
o = oleapp.activesheet
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Select
With oleapp.Selection
.font .Name = "新細明體"
.font .size=20
.ColumnWidth = 14
.NumberFormatLocal = "#,##0.0_ "
endwith


RETURN
=====================
但是如果 with oleapp.Selection 改成 with o.Selection
就會發生 ole 錯誤, 其實 o 跟 oleapp 是不一樣的 !!

_________________
foxpro & php 初學者
回頂端
檢視會員個人資料 發送私人訊息
區榮熾



註冊時間: 2005-11-14
文章: 191


第 14 樓

發表發表於: 星期六 三月 28, 2009 1:19 am    文章主題: 引言回覆

sean27 寫到:
我試了以下程式碼, 程式執行無誤

oleApp=Createobject("Excel.Application")
oleApp.Visible=.T.
oleapp.workbooks.add
oleApp.SHEETS.ADD
o = oleapp.activesheet
o.Range("B:B,C:C,E:E,F:F,J:J,L:L,M:M,R:R").Select
With oleapp.Selection
.font .Name = "新細明體"
.font .size=20
.ColumnWidth = 14
.NumberFormatLocal = "#,##0.0_ "
endwith


RETURN
=====================
但是如果 with oleapp.Selection 改成 with o.Selection
就會發生 ole 錯誤, 其實 o 跟 oleapp 是不一樣的 !!

Sean27兄: 經您寫的程式碼,才知道 .Selection 的位置要放置在 oleApp之下,且不接受代碼處理,所以連日來的結打開了,是我的不知,還怪VFP對我特別禮遇!
謝謝回我文的熱心網友........誠祝各位身心康樂!
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作