ฉันกำลังพัฒนาสเปรดชีตที่ซับซ้อนสำหรับเพื่อน Excel เชิงลึกครั้งแรกของฉัน ทำงานใน Excel 2003 ปัญหาที่ฉันมีคือทำงานกับค่าคงที่ xl เช่น xlPaper ปัญหาเกิดขึ้นเมื่อพยายามทำงานกับค่าคงที่มันเป็นเหมือนค่าที่ไม่สามารถใช้งานได้เมื่อผ่านการอ้างอิง "xlWhething"
รหัสที่มีปัญหา:
Dim myRange As String, LM As Integer, RM As Integer, TM As Integer, BM As Integer, Papersizing As String, Orient As String, Quality As Integer
On Error GoTo Errorcatch
TM = ws.Range("f2").Value
LM = ws.Range("f3").Value
BM = ws.Range("f4").Value
RM = ws.Range("f5").Value
Papersizing = "xlPaper" & ws.Range("d2").Value
Orient = "xl" & ws.Range("d5").Value
MsgBox Papersizing
Quality = ws.Range("d9").Value
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
With ActiveSheet.PageSetup
MsgBox .Papersize
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.CentimetersToPoints(LM)
.RightMargin = Application.CentimetersToPoints(RM)
.TopMargin = Application.CentimetersToPoints(TM)
.BottomMargin = Application.CentimetersToPoints(BM)
.HeaderMargin = Application.CentimetersToPoints(0)
.FooterMargin = Application.CentimetersToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = Orient
.Draft = False
.Papersize = Papersizing
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
ดังนั้นการทำหนังสือพิมพ์จึงกลายเป็น "xlPaperA4", Orient = "xlPortrait" ข้อผิดพลาดที่ Excel แตกออกมาคือ "ไม่สามารถตั้งค่าคุณสมบัติ PaperSize ของคลาส PageSetup" เมื่อจัดการกับขนาดหน้ากระดาษและคล้ายกับการวางแนว
แต่ถ้าฉันผ่านค่าที่ยากเช่น. Paperize = 9 มันใช้ได้ ไม่ไดนามิกโดยเฉพาะ ยกโทษให้ฉัน ... ฉันคุ้นเคยกับ PHP
แล้วฉันจะทำอะไรที่นี่? มีวิธีการอ้างอิงค่าคงที่อีกครั้งตามชื่อของค่าคงที่หรือไม่?