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

請問: 如何在程式中得知所有printer之資料

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



註冊時間: 2004-06-04
文章: 20


第 1 樓

發表發表於: 星期五 六月 18, 2004 4:54 pm    文章主題: 請問: 如何在程式中得知所有printer之資料 引言回覆

請問各位先進:

在 EXCEL 錄製巨集, 可得知
Application.ActivePrinter = "自動 FS 上的 Epson LQ-1070C 在 Ne02:"

但是在 VFP 如何得知 所有的 printer 之資料, 如:

xls(1)="自動 PC 上的 HP DeskJet 930C/932C/935C 在 Ne00:"
xls(2)="自動 LYR 上的 Epson Stylus COLOR 680 ESC/P 2 在 Ne01:"
xls(3)="自動 FS 上的 Epson LQ-1070C 在 Ne02:"

在前面的printer "自動 FS 上的 Epson LQ-1070C" 可用=aprinters(xls) 得知
? xls(1,1) && 自動 FS 上的 Epson LQ-1070C
? xls(2,1) && \\FS\Epson LQ-1070C
但不知是否有什麼函數API可得知 "Ne02:"

yinlin
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 2 樓

發表發表於: 星期五 六月 18, 2004 5:15 pm    文章主題: 引言回覆

很怪!?
既然知道 aprinters() ,
應該也知道 ALEN() 可以計算array 中有幾個 element,
不就能找出所有的 printer name 嗎?

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
lelhappy



註冊時間: 2004-06-04
文章: 20


第 3 樓

發表發表於: 星期五 六月 18, 2004 6:54 pm    文章主題: 引言回覆

引言回覆:

不就能找出所有的 printer name 嗎?


我是可以找出 printer name : "自動 FS 上的 Epson LQ-1070C"
及 printer port : "\\FS\Epson LQ-1070C"

但是沒有 printer address : "Ne02:" && 這應該也是 printer port 吧

yinlin
回頂端
檢視會員個人資料 發送私人訊息
elleryq



註冊時間: 2007-06-21
文章: 768


第 4 樓

發表發表於: 星期六 六月 19, 2004 10:19 am    文章主題: 引言回覆

這是 DOS 在用的裝置名
我想可能是因為 VFP 用不到,所以就沒抓這部份的資訊.
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
lelhappy



註冊時間: 2004-06-04
文章: 20


第 5 樓

發表發表於: 星期日 六月 20, 2004 5:10 pm    文章主題: 引言回覆

找到了....

"hkey_local_machine\System\ControlSet001\Control\Print\Printers\"
底下的各 列表機機碼 及 "Port" 的值,即 aprinters() 所抓的值.
Excel 在 WINDOWS 98 所抓的值
.ActivePrinter = "自動 FS 上的 Epson LQ-1070C 在 \\FS\Epson LQ-1070C"
也是在這抓的吧,因為值一樣.
但 Excel 在 WINDOWS XP和 2000 所抓的值
.ActivePrinter = "自動 FS 上的 Epson LQ-1070C 在 Ne02:"
"在" 之後的 "Ne02:"值,並不是在
"hkey_local_machine\System\ControlSet001\Control\Print\Printers\自動 FS 上的 Epson LQ-1070C"
底下 "Port" 的值,而是在
"hkey_current_user\Software\Microsoft\Windows NT\CurrentVersion\Devices"
底下 "自動 FS 上的 Epson LQ-1070C" 的值 "winspool,Ne02:"

終於可以設定 .ActivePrinter = "自動 FS 上的 Epson LQ-1070C 在 Ne02:" 了,
謝謝各位大哥, 另我在
http://210.241.239.58/af/form/records.aspx?class_id=forum_vfp_guest&runtime_criteria=source_thread_id~20040616213904018584
有問及 VFP 在 windows 98 的環境,設定 Excel 的紙張大小 "使用者定義大小:"
.ActiveSheet.PageSetup.PaperSize = 256 會出現 下列錯誤訊息

OLE IDispatch 異常碼 0 出自 Microsoft Excel: 無法設定種類 PageSetup 的 PaperSize 屬性

看有沒有其他方法可設定紙張大小,或控制 Excel 的列印,感恩哦
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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