โค้ด Export Excel file เปลี่ยนฟร้อน



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

02 มี.ค. 61 , 14:52:30
อ่าน 980 ครั้ง

Earth

โค้ด Export Excel file เปลี่ยนฟร้อน
« เมื่อ: 02 มี.ค. 61 , 14:52:30 »
อยากสอบถามโค้ดเปลียนฟร้อนExcel เมื่อExport ออกมาแล้วค่ะ
ตอนนี้โค้ดExportนี้อยู่ค่ะ

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Stockcard", outputFileName, True
พอExport มาได้ฟร้อนเป็นแบบนี้ 


มีวิธไหนเปลี่ยนฟร้อนได้บ้างคะ

 

03 มี.ค. 61 , 03:26:58
ตอบกลับ #1

ปิ่นณรงค์

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #1 เมื่อ: 03 มี.ค. 61 , 03:26:58 »
สามารถทำได้ครับ แต่คงต้องใช้วิธี กด Export ก่อนแล้ว ทำการซ่อนไว้ก่อนจากนั้นก็ใช้การเขียน code แก้ไข Font และ ขนาดของฟ้อนอีกทีนึง แล้วค่อย Call .....  เข้ามา อีกทีนึงเดี่ยวผมว่างๆ จะลองทำดูให้นะครับ
« แก้ไขครั้งสุดท้าย: 03 มี.ค. 61 , 18:35:00 โดย Newbies »
:love: :grin:
 

03 มี.ค. 61 , 16:23:09
ตอบกลับ #2

ปิ่นณรงค์

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #2 เมื่อ: 03 มี.ค. 61 , 16:23:09 »
สวัสดีครับผมได้ทำตัวอย่างการ Export File Excel แล้วให้มีการเปลี่ยน รูปแบบของฟ้อนตามที่เราต้องการ
โดยผมจะยังใช้ไฟล์ตัวเดิมมายกตัวอย่างนะครับ
สามารถกำหนดได้ดังนี้ครับ

โค๊ด: [Select]
Private Sub ExportExcel_Click()   'เมื่อกด export
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "QuerySelect_Type", "C:\QuerySelect_Type.xls", True
'ตรง QuerySelect_Type คือชื่อของ table หรือ Query ที่จะ Export
'ส่วน "C:\QuerySelect_Type.xls" คือตำแหน่งของไฟล์ที่ Export จะนำไปเก็บไว้สามารถเปลี่ยนชื่อได้
Call changefont  'เรียกใช้ชุดคำสั่ง
MsgBox "ได้ทำการ Export ข้อมูลและเปลี่ยนรูปแบบฟ้อนที่กำหนดแล้ว!!" , vbOKOnly, "แจ้ง"
End Sub
Sub changefont()
Dim XLapp As Object, sheet As Object
Set XLapp = CreateObject("Excel.Application")
XLapp.Workbooks.Open ("C:\QuerySelect_Type.xls") '<<<< ระบุตำแหน่งของไฟล์ที่ export ไปไว้เพื่อเปิดมาแก้ไข
Set sheet = XLapp.ActiveWorkbook.Sheets(1)
With sheet.Cells.Font
     .Name = Me.ListFont
     .FontStyle = "Regular"    '<<<< ตัวหนาก็ใส่ Bold ตัวบางก็ Regular
     .Size = Me.FontSize       
     .Strikethrough = False 'เขียนเส้นทับ true ใช่ false ไม่ใช่
          End With
  XLapp.TransitionNavigKeys = False
  XLapp.ActiveWorkbook.Close True
End Sub

« แก้ไขครั้งสุดท้าย: 03 มี.ค. 61 , 20:50:24 โดย Newbies »
:love: :grin:
 

03 มี.ค. 61 , 20:36:32
ตอบกลับ #3

ปิ่นณรงค์

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #3 เมื่อ: 03 มี.ค. 61 , 20:36:32 »
รูปแบบนี้จะสร้าง combobox รายการของ ฟอนต์ และขนาดฟอนต์ก่อนกด Export เพื่อความสะดวก ในการใช้งานครับ
รูปตัวอย่างด้านล่างครับ และตัวอย่างไฟล์ครับ
« แก้ไขครั้งสุดท้าย: 03 มี.ค. 61 , 20:40:46 โดย Newbies »
:love: :grin:
 

05 มี.ค. 61 , 09:48:24
ตอบกลับ #4

Earth

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #4 เมื่อ: 05 มี.ค. 61 , 09:48:24 »
ถ้าที่อยู่ที่เราSAVE ไฟล์ กำหนดไว้แบบนี้
outputFileName = CurrentProject.Path & "\Stock" & Format(Date, "yyyyMMdd") & "_" & strReportName & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Stockcard", outputFileName, True

*******************************************************

- เลยแก้ไขตรง*ระบุตำแหน่งของไฟล์ที่ export ไปไว้เพื่อเปิดมาแก้ไข เป็นoutputFileName แทน เหมือนข้างล่าง ต้องใส่ยังไงคะ ถึงไม่เออเร่อค่ะ
- ส่วนตรงฟร้อน เราสามารถระบุชื่อฟร้อนไปเลยได้ไหมคะ ขนาดด้วย ดังโค้ดด้านล่างค่ะ


Sub changefont()
Dim XLapp As Object, sheet As Object
Set XLapp = CreateObject("Excel.Application")
outputFileName = CurrentProject.Path & "\Stock" & Format(Date, "yyyyMMdd") & "_" & strReportName & ".xls"
XLapp.Workbooks.Open outputFileName 'ระบุตำแหน่งของไฟล์ที่ export ไปไว้เพื่อเปิดมาแก้ไข
Set sheet = XLapp.ActiveWorkbook.Sheets(1)
With sheet.Cells.Font
     .Name = "Angsana New" 'ระบุไปเลยได้ไหมคะ
     .FontStyle = "Regular" 
     .Strikethrough = False
          End With
  XLapp.TransitionNavigKeys = False
  XLapp.ActiveWorkbook.Close True
End Sub

 

05 มี.ค. 61 , 10:06:28
ตอบกลับ #5

ปิ่นณรงค์

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #5 เมื่อ: 05 มี.ค. 61 , 10:06:28 »
XLapp.Workbooks.Open outputFileName 'ระบุตำแหน่งของไฟล์ที่ export ไปไว้เพื่อเปิดมาแก้ไข
ตรงนี้กำหนดไปที่ตัวไฟล์ที่ Export ออกไปแล้ว
แต่คำสั่ง outputFileName = CurrentProject.Path & "\Stock" & Format(Date, "yyyyMMdd") & "_" & strReportName & ".xls" คือคำสั่งตอน Export ครับ วิธีการง่ายๆคือ Export ออกไปแล้วไฟล์ไปอยู่ตรงไหนก็ระบุตำแหน่งไฟล์ และชื่อไฟล์มาใส่ครับ

ส่วนชื่อฟ้อน ถ้าไม่อยากจะเลือกหลายๆแบบ อยากกำหนดไปเลยทำได้คับ

With sheet.Cells.Font
     .Name = "Angsana New" 'ระบุฟอนต์
     .FontStyle = "Regular"     'ระบุตัวหนา หรือบาง Regular กับ Bold
     .Size = 16           'ระบุขนาดฟ้อนต์   
     .Strikethrough = False
          End With
:love: :grin:
 

05 มี.ค. 61 , 11:26:22
ตอบกลับ #6

Earth

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #6 เมื่อ: 05 มี.ค. 61 , 11:26:22 »
Export ออกไปแล้วไฟล์ไปอยู่ตรงไหนก็ระบุตำแหน่งไฟล์ และชื่อไฟล์มาใส่

>>>ถ้าตรงนี้เรากำหนดตั้งแต่Export มาแล้วว่าให้ไฟล์Export มันจะอยู่ตำแหน่งเดียวกับไฟล์ที่สร้าง
เพราะถ้านำไปใช้กับเครื่องอื่น ผู้ใช้อาจนำไฟล์ไปไว้คนละตำแหน่งเช่น D:, C:
มีวิธีไหนจะระบุแบบไม่ฟิกซ์ แล้วตามไฟล์ที่exportมาบ้างคะ

>>> ส่วนชื่อไฟล์ มีการนำฟิลด์ในQueryมาใส่ด้วยค่ะ  มันจึงฟิกซ์เป็นชื่อไม่ได้
** ตรง  strReportName = [TYPE]

 

05 มี.ค. 61 , 11:29:28
ตอบกลับ #7

Earth

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #7 เมื่อ: 05 มี.ค. 61 , 11:29:28 »
แบบนี้ค่ะ

 

05 มี.ค. 61 , 11:45:45
ตอบกลับ #8

Earth

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #8 เมื่อ: 05 มี.ค. 61 , 11:45:45 »
รบกวนช่วยดูให้หน่อยนะคะ

 

05 มี.ค. 61 , 12:20:58
ตอบกลับ #9

ปิ่นณรงค์

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #9 เมื่อ: 05 มี.ค. 61 , 12:20:58 »
โค๊ด: [Select]
Private Sub ExportExcel_Click()
Dim outputFileName As String
outputFileName = CurrentProject.Path & "\Stock" & Format(Date, "yyyyMMdd") & "_" & strReportName & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "StockCard", outputFileName, True
Call changefont
MsgBox "ได้ Export ข้อมูลไปไว้ที่  " & outputFileName & ".", vbOKOnly, "แจ้ง"
End Sub


Sub changefont()
Dim XLapp As Object, sheet As Object
Set XLapp = CreateObject("Excel.Application")
XLapp.Workbooks.Open Application.CurrentProject.Path & "\Stock" & Format(Date, "yyyyMMdd") & "_" & strReportName & ".xls"
Set sheet = XLapp.ActiveWorkbook.Sheets(1)
With sheet.Cells.Font
        .Name = "Angsana New"
     .FontStyle = "Regular"
     .Size = 16
     End With
     XLapp.TransitionNavigKeys = False
XLapp.ActiveWorkbook.Close True
End Sub

น่าจะแบบนี้ครับ
XLapp.Workbooks.Open Application.CurrentProject.Path & "\Stock" & Format(Date, "yyyyMMdd") & "_" & strReportName & ".xls"

ตรง strReportName จะตั้งเป็นชื่อ Combobox ที่เลือกประเภท TYPE บนฟอร์มแทนก็ได้นะครับ

XLapp.Workbooks.Open Application.CurrentProject.Path & "\Stock" & Format(Date, "yyyyMMdd") & "_" & Me.Cmbtype & ".xls"

ตัวอย่างด้านล่าง
« แก้ไขครั้งสุดท้าย: 05 มี.ค. 61 , 13:06:30 โดย Newbies »
:love: :grin:
 

05 มี.ค. 61 , 13:12:40
ตอบกลับ #10

Earth

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #10 เมื่อ: 05 มี.ค. 61 , 13:12:40 »
ลองทำตามแล้วค่ะ เออเร่อตรงSub changefont() ค่ะ

 

05 มี.ค. 61 , 13:15:56
ตอบกลับ #11

ปิ่นณรงค์

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #11 เมื่อ: 05 มี.ค. 61 , 13:15:56 »
ลองเปลี่ยนจาก Me.Type_cmb เป็น strReportName ได้ไหมคับ
เดี่ยวผมดูให้
« แก้ไขครั้งสุดท้าย: 05 มี.ค. 61 , 13:29:50 โดย Newbies »
:love: :grin:
 

05 มี.ค. 61 , 13:28:53
ตอบกลับ #12

Earth

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #12 เมื่อ: 05 มี.ค. 61 , 13:28:53 »
ไม่ได้เหมือนกันเลยค่ะ

 

05 มี.ค. 61 , 13:30:07
ตอบกลับ #13

ปิ่นณรงค์

> > โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #13 เมื่อ: 05 มี.ค. 61 , 13:30:07 »
ไม่ได้เหมือนกันเลยค่ะ
Me.Type_cmb คือชื่อ Combobox ที่เลือก Type ในหน้าฟอร์มนั้นหรือเปล่าครับ / หรือถ้าสะดวกส่งไฟล์ มาที่เมล pinnarong1115@hotmail.com เดี่ยวผมดูให้
« แก้ไขครั้งสุดท้าย: 05 มี.ค. 61 , 13:36:41 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: Earth

05 มี.ค. 61 , 13:37:45
ตอบกลับ #14

Earth

> โค้ด Export Excel file เปลี่ยนฟร้อน
« ตอบกลับ #14 เมื่อ: 05 มี.ค. 61 , 13:37:45 »
มะกี้ลองใหม่ได้แล้วค้า เรียกcomboboxจากหน้าฟอร์ม


ขอบคุณมากๆๆๆเลยนะคะ

 


บอร์ดเรียนรู้ Access สำหรับคนไทย