snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
jex
Member
Posts: 23 Joined: Fri Feb 21, 2014 10:40 am
#1
Post
by jex » Wed Sep 03, 2014 11:10 am
สวัสดีค่ะ รบกวนสอบถามการแก้ไขลิ้งค์ใน excel ค่ะ คือก่อนหน้านี้ได้ใช้ excel 2003 เป็นไฟล์นามสกุล xls และได้ทำการแก้โดย convert มาเป็น xlsx ทำให้ไม่สามารถลิ้งค์ไฟล์ได้ค่ะ
ตัวอย่างข้อมูลที่แนบมาคือ ทำลิ้งที่ชีท Booklink ให้ไปลิ่งค์ข้อมูลที่ A001-A005.xls แต่พอทำการ convert ให้เป็น xlsx ทำให้ลิ้งไม่ได้ขึ้น error ว่า Cannot open the specified file. ซึ่งข้อมูลที่ทำลิ้งค์แบบนี้มีค่อนข้างเยอะค่ะ เลยอยากรบกวนถามว่าสามารถทำให้ลิ้งค์ไฟล์ที่มีเก่าที่เป็น A001-A005.xls เปลี่ยนเป็น A001-A005.xlsx แบบทำให้เปลี่ยนนามสกุลเป็น xlsx ทั้งหมดทีเดียวได้ไหมคะไม่ต้องทำทีละอันค่ะ ตอนนี้ใช้วิธีแก้คือกดที่ลิ้งค์แต่ละตัวอยู่ค่ะ ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Wed Sep 03, 2014 1:27 pm
Link ที่พูดถึงเป็น Hyperlink ไม่ใช่ Link ของสูตร การเปลี่ยนลักษณะนั้นจะต้องคลิกเปลียนทีละตัว ยกเว้นเขียน VBA เข้าไปจัดการ
หรือไม่เช่นนั้นก็ใช้สูตร Hyperlink เข้ามาช่วยจะได้สะดวกในการเปลี่ยนค่าตำแหน่งปลายทาง ฟังก์ชั่น Hyperlink ศึกษาจากที่นี่ครับ
http://office.microsoft.com/th-th/excel ... aspx?CTT=1
jex
Member
Posts: 23 Joined: Fri Feb 21, 2014 10:40 am
#3
Post
by jex » Wed Sep 03, 2014 2:15 pm
ขอบคุณค่ะ เดี๋ยวลองศึกษาค่ะ รบกวนถามค่ะ ถ้าเป็น VBA จะสามารถเปลี่ยนการนามสกุลการลิ้งค์ได้ไหมคะ คือไม่เคยเคยใช้ VBA เลยค่ะ ตอนนี้ใช้การเปลี่่ยนโดยการ Edit Hyper link แล้วก็เปลี่ยน .xls เป็น .xlsx ค่ะ ขอบคุณมาก ๆ ค่ะ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Wed Sep 03, 2014 2:42 pm
VBA เป็นการเขียนโปรแรกมควบคุมการทำงานของ Excel สามารถทำได้ทุกอย่างแทบจะไร้ขีดจำกัดครับ
jex
Member
Posts: 23 Joined: Fri Feb 21, 2014 10:40 am
#5
Post
by jex » Wed Sep 03, 2014 3:37 pm
ขอบคุณค่ะ เดี๋ยวจะลองไปศึกษา VBA ค่ะ ขอบคุณค่ะ
jex
Member
Posts: 23 Joined: Fri Feb 21, 2014 10:40 am
#6
Post
by jex » Wed Sep 03, 2014 4:02 pm
ลองใช้ VBA ในการเปลี่ยนไฟล์ .xls ไปเป็น .xlsx แล้วค่ะ ชื่อไฟล์เปลี่ยน แต่เปิดไฟล์แล้ว error เลยค่ะ Excel cannot open the file book.xlsx because the file format or file extension is not valid. verify that the file has not been corrupted and that the file extension matches the format of the file. เลยงงว่าเปลี่ยนชื่อได้แต่เปิดไม่ได้ค่ะ
Code: Select all
Sub Test()
Dim fName As String
Dim MyFolder As String
MyFolder = "C:\Test\" '<<== adjust to suit
If Right$(MyFolder, 1) <> "\" Then MyFolder = MyFolder & "\"
fName = Dir(MyFolder & "*.xls")
Do While Len(fName)
Name MyFolder & fName As MyFolder & Replace(fName, ".xls", ".xlsx", , , 1)
fName = Dir()
Loop
End Sub
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#7
Post
by snasui » Wed Sep 03, 2014 4:11 pm
สิ่งที่คุณทำตาม Code นั้นคือเปลี่ยนชื่อไฟล์ใน Folder แต่
สิ่งที่ควรทำคือเปลี่ยน Hyperlink เพื่อให้ Link ไปยังไฟล์ที่ถูกต้อง
การไปเปลี่ยนชื่อไฟล์ใน Folder จะทำให้ไฟล์นั้นใช้การไม่ได้ หากเป็นไฟล์ที่ใช้งานต้องเปลี่ยนกลับมายังชื่อเดิมที่ถูกต้องครับ
jex
Member
Posts: 23 Joined: Fri Feb 21, 2014 10:40 am
#8
Post
by jex » Wed Sep 03, 2014 4:21 pm
ขอบคุณค่ะ