Page 1 of 1

การดึงไฟล์ภาพจาก Userform ไปที่ Worksheet

Posted: Tue Feb 21, 2023 6:36 am
by Sirilukmtj
สวัสดีค่ะอาจารย์
หนูต้องการให้ไฟล์ภาพที่อัพโหลดขึ้น Userform ไปแสดงใน Sheet "Data Base" หลังกดปุ่ม Save โดยนำไปวางที่ Column C, Row2 พร้อมกับข้อมูลอื่นๆ ใน Userform แต่เนื่องจากติดบางอย่างซึ่งเกินกว่าหนูจะเข้าใจได้จึงเข้ามาปรึกษาอาจารย์ค่ะ

Re: การดึงไฟล์ภาพจาก Userform ไปที่ Worksheet

Posted: Tue Feb 21, 2023 7:06 am
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Dim picPath As String

Private Sub Addimage_Click()
   'Other code
    If sFile <> "" Then
        Image1.picture = LoadPicture(sFile)
    End If
    picPath = sFile
End Sub

Private Sub CommandButton2_Click()
    Dim audit_date, auditor, comment, department, place, responce_within, Img As String
    Dim rowlast As Integer, imgIcon As Object
    'Other code
    Sheet2.Range("G" & rowlast).Value = responce_within
    With Worksheets("Data Base")
        Set imgIcon = .Shapes.AddPicture( _
            Filename:=picPath, _
            LinkToFile:=False, saveWithDocument:=True, _
            Left:=.Cells(rowlast, "c").Left, Top:=.Cells(rowlast, "c").Top, _
            Width:=.Cells(rowlast, "c").Width, Height:=.Cells(rowlast, "c").Height)
    End With
    TextBox1.Text = ""
    'Other code
คำว่า 'Other code คือ Code เดิม ใช้คำว่า Other code แทนเพราะต้องการให้เห็นสิ่งที่เพิ่มเข้าไปได้อย่างเด่นชัดครับ

Re: การดึงไฟล์ภาพจาก Userform ไปที่ Worksheet

Posted: Tue Feb 21, 2023 9:36 am
by Sirilukmtj
สามารถดึงภาพจาก Userform เข้า Worksheet ได้แล้วค่ะ แต่ติดหนึ่งปัญหา คือ กรณีที่ไม่ต้องการแนบรูปหรือต้องการกรอกแค่ข้อความใน Textbox หรือ ComboBox ช่องในช่องหนึ่ง Code จะติด Error ค่ะ

ถ้าทุกครั้งมีการแนบภาพ ถึงแม้จะกรอกข้อมูลไม่ครบถ้วน Code จะสามารถทำงานได้ปกติค่ะ
หนูขอคำชี้แนะด้วยค่ะอาจารย์ ขอบคุณค่ะ
Test.xlsm

Re: การดึงไฟล์ภาพจาก Userform ไปที่ Worksheet

Posted: Tue Feb 21, 2023 11:40 am
by snasui
:D ควรแจ้งว่าเกิด Error ที่บรรทัดไหน อย่างไร จับภาพ Error ที่ได้มาด้วยจะได้เข้าใจตรงกันครับ

ในส่วนของ Code ที่เพิ่มเข้าไปในกระทู้นี้สามารถตรวจสอบว่ามีการแนบภาพมาแล้วหรือไม่จากตัวแปร picPath ครับ หากเป็นค่าว่างแสดงว่าไม่มีการแนบไฟล์ ให้ข้ามไป แต่ถ้าไม่ว่างก็ให้แนบภาพแล้ว Clear ค่าของตัวแปรให้เป็นค่าว่าง ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

'Other code
With Worksheets("Data Base")
    If picPath <> "" Then
        Set imgIcon = .Shapes.AddPicture( _
            Filename:=picPath, _
            LinkToFile:=False, saveWithDocument:=True, _
            Left:=.Cells(rowlast, "c").Left, Top:=.Cells(rowlast, "c").Top, _
            Width:=.Cells(rowlast, "c").Width, Height:=.Cells(rowlast, "c").Height)
            picPath = ""
    End If
End With
'Other code

Re: การดึงไฟล์ภาพจาก Userform ไปที่ Worksheet

Posted: Tue Feb 21, 2023 1:13 pm
by Sirilukmtj
Warning Window & Error Code ตามไฟล์แนบค่ะอาจารย์

Re: การดึงไฟล์ภาพจาก Userform ไปที่ Worksheet

Posted: Tue Feb 21, 2023 1:50 pm
by snasui
:D ส่วนนั้นถ้าไม่ใช้ก็ Break ทิ้งหรือลบออกไปครับ

Re: การดึงไฟล์ภาพจาก Userform ไปที่ Worksheet

Posted: Tue Feb 21, 2023 3:09 pm
by Sirilukmtj
ตอนนี้สามารถใช้ได้ไม่ติดปัญหาใดๆ แล้วค่ะ ขอบพระคุณอาจารย์มากๆ ค่ะ