ใส่ Address ใน Hyperlink แบบอัตโนมัติ
กระทู้เก่าบอร์ด อ.Yeadram

 8,210   21
URL.หัวข้อ / URL
ใส่ Address ใน Hyperlink แบบอัตโนมัติ

ถึงอาจารทุกท่านช่วยที ผมมีปัญหาว่า
ผมมีชื่อเขตข้อมูลชื่อ
DirAddress:"D:\Status.xls" ชนิดข้อมูลเป็นแบบ text
link                                      ชนิดข้อมูลเป็นแบบ Hyperlink
_____________________________________________________
เหตุการณ์ของผมคือเมื่อ click ที่ช่อง DirAddress แล้วให้ใส่ค่าในช่อง link
เหมือนค่าในช่อง DirAddress และเมื่อนำ mouse ไปคลิ๊กก็สามารลิ้งค์ข้อมูลไปหาไฟล์ชื่อว่า Status.xls ได้ด้วย

21 Reply in this Topic. Dispaly 2 pages and you are on page number 1

1 @R02402
2 @R02403
ท่านอาจารย์ สันติสุข ที่ท่านอาจารย์ตอบ
มันไม่ตรงกับวัตถุประสงค์ นะครับ จุดประสงค์ของผมคือ
---------------------------------------
click ที่ช่อง DirAddress แล้วให้ใส่ค่าในช่อง link
เหมือนค่าในช่อง DirAddress และเมื่อนำ mouse ไปคลิ๊กที่ชอง link ก็สามารลิ้งค์ข้อมูลไปหาไฟล์ชื่อว่า Status.xls ได้ด้วยและเก็บคค่าในช่อง link ด้วยแต่ที่อาจารย์ตอบมามันใช้คำสั่ง FollowHyperlink ซึ่งเปิดไฟล์จากปุ่มที่ Click ไม่ได้เปิ
ดไฟล์จากช่องที่ไปเก็บค่าที่ Link
3 @R02404
1) click ที่ช่อง DirAddress แล้วให้ใส่ค่าในช่อง link เหมือนค่าในช่อง DirAddress

Private Sub DirAddress_Click
   Me.Link = Me.DirAddress
End Sub


2) และเมื่อนำ mouse ไปคลิ๊กที่ชอง link ก็สามารลิ้งค์ข้อมูลไปหาไฟล์ชื่อว่า Status.xls ได้ด้วย

Private Sub Link_Click
   Followhyperlink Me.Link
End Sub
4 @R02405
ขออนุญาตครับ
คุณ วิษณุ มีรูปตัวอย่างหน้าจอ หรือหน้าฟอร์มที่ทำงานนี้อยู่หรือเปล่าครับ
ผมงง กับความต้องการของคุณ หรือมันอาจจะมีความจำเป็นหรือเทคนิก อะไรอื่นอีกหรือเปล่า ทำไมต้องทำอย่างนั้น ถ้ามันเด็ดจริงๆ จะขอเก็บไปไว้ใช้บ้างครับ อิอิ


- DirAddress กับ Link ดูเหมือนมันทำงานซ้ำซ้อนกัน โดยไม่จำเป็น
- และคำว่า "ก็สามารลิ้งค์ข้อมูลไปหาไฟล์" คำนี้ กับคำในโจกท์ ที่ว่า "ชนิดข้อมูลเป็นแบบ Hyperlink" ดูเหมือนมันทะแม่งๆ เพราะว่า...
- - ถ้าคุณต้องการลิงค์ข้อมูล ระหว่าง Excel กับ Access มันก็ไม่จำเป็นต้องเกี่ยวข้องกับคำว่า Hyperlink
- - ถ้าคุณจะทำงานกับ Hyperlink มันก็ไม่เกี่ยวข้องกับการ "ลิงค์ข้อมูล"
5 @R02406
ท่านอาจารย์ สันติสุข อาจารย์ เก่งสุดๆเลยครับ ผมลองทำแล้วได้ผลเหมือนกันเลยครับแต่ ที่ผมต้องการเก็บค่า Address ในช่อง Link เพื่อที่จะทำ Report และใช้คำสั่ง SendObject เพื่อส่ง Email และแนบไฟล์ Report ที่แปลงเป็นไฟล์ Word และเมื่อ click ในไฟล์ Report ที่แนบมาจะได้ linK ไปยังไฟล์ปลายทางคือ status.xls

แต่ที่อาจารย์สอนมันใช้ได้กับหน้า ฟอร์ม   อาจารย์พอจะมีวิธีไหมครับ ผมจะขอบคุณล่วงหน้า 50 กิโลเมตรเลย
6 @R02407
ผมทำไม่ได้ครับ
7 @R02408
แต่ยังไงก็ขอบคุณ ท่านอาจารย์ สันติสุข มากๆ นะครับ และผมก็หวังว่าจะมีใครสักคนที่ทำได้ ขอบคุณนะครับ
8 @R02409
แต่ยังไงก็ขอบคุณ ท่านอาจารย์ สันติสุข มากๆ นะครับ และผมก็หวังว่าจะมีใครสักคนที่ทำได้ ขอบคุณนะครับ
9 @R02410
ถึงอาจารย์ทุกท่าน ผมกลัวว่าท่านจะงงก็เลยแนบไฟล์รูปภาพ และก็ไฟล์ .MDB มาด้วยเพื่อขอคำชี้แนะจากท่านอาจารย์ทั้งหลายช่วยผมที
ไฟล์ .MDB

http://www.ziddu.com/download/5145392/autolink.zip.html

10 @R02411
แก้ไขลิงค์โหลดไฟล์ .MDB ในการประกอบกับคำถามนะครับ

http://www.tempf.com/getfile.php?id=4254&key=4a31290b653ad
11 @R02415
Private Sub DirAddress_Click
   Me.Link = Me.DirAddress & chr(35) & Me.DirAddress
End Sub
12 @R02418
ขอบคุณท่าน อาจารย์ yeadram มากๆ ครับ อาจารย์ เก่งสุดๆไปเลย ผมทำได้แล้วตรงวัตถุประสงค์เลย แต่ผมขออีกนิดได้ไหมครับ ผมไม่เก่ง VB เพราะไม่เคยเรียนและก็ไม่ได้จบทางด้านนี้ ผมไม่เข้าใจ คำสั่ง chr(35) มันคืออะไรคับ อาจารย์อธิบายหน่อยได้ไหมว่ามันใช้ทำอะไร และนอกจาก chr(35) ยังมี chr(เลขอื่นไหม)
13 @R02419
การใส่ค่าเข้าฟิลด์ที่เป็นชนิดข้อมูล hyperlink คุณต้องใส่ค่าสองค่า
1 คำที่ต้องการโชว์
2 ที่อยู่สำหรับลิงค์
(คุณจะใช้คำเดียวกันก็ได้ แต่ไม่ว่ายังไงก็ต้องส่งให้มันสองค่าเป็นอย่างน้อย)
โดยมันให้เราแยกสองค่านี้ด้วยเครื่องหมาย ชาร์ฟ (#) ใส่กั้นกลางเอาไว้
เช่น me.link= "c:\test.xls#c:\test.xls"
มันถึงจะเป็น hyperlink ได้อย่างสมบูรณ์

เมื่อเราต้องการเขียนคำสั่งเหล่านี้โดยผ่าน VBA เครื่องหมายชาร์ฟ ถือเป็นอักขระพิเศษที่ VBA ต้องใช้ (ใช้สำหรับกั้นข้อมูล date-time) เพราะฉะนั้นเราจะเขียนเรื่องหมาย # ไปตรงๆในโค้ดไม่ได้ เราจึงใช้วิธีเขียนทางอ้อม

โดยได้ใช้ฟังก์ชั่น พื้นฐานอีกตัวเข้ามาช่วย คือ chr() แปลงค่าตัวเลขให้เป็นตัวอักษร โดยตัวเลขดังกล่าวคือกลุ่มตัวเลขในรหัส ascii

หากคุณอยากรู้ว่า # มีรหัส ascii เป็นอย่างไร ให้คุณใช้   asc("#")
   คุณจะได้คำตอบคือ 35
ในทางกลับกัน หากอยากรู้ว่า เลข 35 เป็นเลขรหัสแอสกี ของอักขระใด ให้คุณใช้ chr(35)
   คุณจะได้คำตอบคือ #


ส่วนคำถามที่ว่า "และนอกจาก chr(35) ยังมี chr(เลขอื่นไหม)"
ตอบว่ามีครับ อักขระทุกชนิดที่ คุณได้ติดตั้งไว้ในเครื่อง (อักขระลาติน อักขระไทย อักขระอารบิค อักขระจีน ญี่ปุ่น) ทุกๆ อักขระจะมีเลข ascii ของมันเองครับ เยอะหรือไม่เยอะ ก็ขึ้นอยู่กับการติดตั้งแป้นภาษาของคุณในเครื่องคุณล่ะครับ
14 @R02428
ขอบคุณท่าน อาจารย์ yeadram มากๆ ครับ
15 @R02435
ผมไม่แน่ใจว่าเข้าใจคุณถูกหรือเปล่า
แต่เท่าที่ดูไฟล์แล้วเข้าใจว่า การที่คุณไม่สามารถคลิ๊ก link เพื่อเปิดเอกสารได้ น่าจะมาจาก code Me.Link = Me.DirAddress

คืออย่างนี้ครับ เท่าที่ผมลองดู
การใช้ Me.Link = Me.DirAddress
มันจะเก็บค่าเป็น text เฉยๆครับ มันยังไม่เก็บค่าเป็น hyperlink จริงๆ
ถ้าจะให้มันเก็บค่าเป็น hyperlink จริงต้อง key เองเข้าไปครับ

ซึ่งเมื่อไรที่มันเก็บค่าเป็น heperlink จริงๆ แล้วเราจะสามารถ click เพื่อเปิดหรือไปยังเอกสารที่ระบุได้เลย และ คุณสมบัตินี้จะถูกส่งผ่านไปยังเอกสารที่ export ออกไปด้วย

วิธีแก้ ขออนุญาติแนะนำว่า ทำไมไม่พิมพ์ใส่ลงไปตรงๆทั้ง path file และ file name ลงไปในช่อง link เลยหละครับ
และถ้าอยากได้ชื่อ file name แยกออกมา ค่อยมาเขียนสูตรใส่ลงไปใน Report เช่น
FileName = Mid([Link],InStrRev([Link],"\")+1)

แต่ถ้าอยากใช้วิธีเดิม อาจต้องใช้วิธีการ Sendkeys เข้าไปแทน
link.SetFocus
SendKeys Me.DirAddress & "~"
----------------------------------------------------------------------
เนื่องจากผมไม่รู้ code ที่มันตรงกว่านี้นะครับ เลยใช้ sendkeys แทน
16 @R02436
เอ้ามี 2 หน้าหลอกหรือ
คุณ yeadram ตอบให้แล้วนี่
17 @R02439
ท่าน อาจารย์ yeadram ท่านตอบให้แล้วครับท่าน ท่านอาจารย์ แดน ตรงแป๊ะเลยใช้ได้จริงประยุคใช้กับงานได้หลายงานเลยเช่นเอกสารแนบทั้งหลายที่จะต้องส่ง เมล์ และต้องการให้คนอืนดูภายในองค์กรซึ่งอาจเป็นไฟล์คนละประเภทเช่น EXCEL ,WORD,ACOBAT แต่ก็ขอขอบคุณ ท่านอาจารย์ แดน ด้วยนะครับที่ตอบ และขอบคุณท่าน อาจารย์ yeadram อีกครั้ง
18 @R05333
อยากรบกวนถามผู้รู้ทุกท่านหน่ะค่ะ

พอดีว่าแนบไฟล์excel ที่ได้ทำ hyperlink หน่ะค่ะ แต่ทางปลายทางรับแล้วไม่สามารถเปิดไฟล์ลิงค์ได้หน่ะคะ จะต้องงัยหรอคะ ถึงจะสามารถเปิดไฟล์ลิงค์หน่ะค่ะ
19 @R05338
คำถามไม่ละเอียดครับ

"พอดีว่าแนบ"
แนบ --- น่าจะหมายถึง แนบไปกับอีเมล์

"ไฟล์excel ที่ได้ทำ hyperlink"
บอร์ดนี้ เน้นที่ Access ดังนั้นเข้าใจว่า น่าจะมีความเกี่ยวข้องกันโดย "access ลิงค์กับ excel" แต่ไม่รู้ว่า ตัวไหนเป็นต้นทางตัวไหนเป็นปลายทาง??

"แต่ทางปลายทางรับแล้วไม่สามารถเปิดไฟล์ลิงค์ได้"
ขอบคุณมากสำหรับ วลีนี้ แต่ไม่รู้จะบอกอะไรดีครับ คุณรู้ได้อย่างไรว่ามันเปิดไม่ได้
- เพราะคุณเห็นใช่ไหมครับ แล้วคนอื่นที่จะรอตอบคำถามคุณ เขาจะเห็นด้วยไหมล่ะครับ
- เพราะมันมี error มาแจ้งใช่ไหมครับ มัน error อะไรล่ะครับ บางคนอาจจะเคยเจอปัญหาเดียวกันกับคุณ เขาก็อาจจะช่วยได้ แต่จะให้เขาแน่ใจได้อย่างไรว่า ที่เขาตอบไปจะตรงกับปัญหาของคุณ

"จะต้องงัยหรอคะ ถึงจะสามารถเปิดไฟล์ลิงค์หน่ะค่ะ"
ต้องหาสาเหตุมันให้ได้ก่อนครับ แล้วแก้ไปตามเหตุ ถึงจะลิงค์ได้ครับ

"งัย" แปลว่าอะไร
"หน่ะ" แปลว่าอะไร
สองคำถามหลังนี้ ล้อเล่นนะครับ อย่าถือสาคนแก่เลยครับ อิอิ
20 @R05442
ถึงอาจารย์ yeadram

ก่อนอื่นต้องขอประทานโทษด้วยนะคะที่ตั้งคำถามไม่ละเอียด ทำให้ไม่ได้คำตอบสักทีเลยค่ะ คือจริงๆแล้วหนูต้องการจะถามอาจารย์และผู้ที่รู้เกี่ยวกับการทำ hyperlink ในไฟล์excel ค่ะ ไม่ใช่ access และหนูเองก็ไม่ทราบว่าบอร์ดนี้จะตอบคำถามแต่ access เท่านั้น

และอาจารย์หรือผู้รู้ทุกท่านพอที่จะแนะนำบอร์ดที่ตอบคำถามเกี่ยวกับ excel หรือเปล่าคะ หรือว่ามีท่านใดพอที่จะช่วยตอบปัญหาให้หนูได้บ้างเกี่ยวกับ excel หรอคะ ถ้ามีรบกวนช่วยส่ง email มาให้ที่ duangjai1980@hotmail.com ทีนะคะ ต้องการความช่วยเหลือจริงๆค่ะ ขอบคุณมากนะคะ






@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3311s