elninoslov napsal/a:
Veď predsa tú cestu k obrázku musíte mať v nejakej premennej, veď ju načítavate cez LoadPicture(cesta) do Image1. No tak tú premennú uložte. Akú inú cestu k obrázku potrebujete, ako tú, čo už máte. Vytvorte si vo Forme globálnu premennú a do nej uložte cestu k obrázku v procedúre toho načítavacieho buttonu, a potom túto globálnu premennú s cestou budete mať dostupnú aj procedúre ukladacieho buttonu.
Približne takto
Dim Cesta As String
Private Sub btnNahratFotografii_Click()
Cesta = "d:\Dokumenty\Obrázky\Avatar01.jpg"
Image1.Picture = LoadPicture(Cesta)
End Sub
Private Sub btnZapisTPM_Click()
wsDB.Cells(2, 11).Value = Cesta
End Sub
Ak tam potrebujete zároveň zapísať aj zodpovednosť, popis závady a ostatné do jedného riadku v DB, tak to cez pole pôjde na šupu. Ak ten Form máte otvorený na zápis viac ako 1 položky, tak pri vytváraní novej vynulujte premennú Cesta, a to preto, ak by mohla nastať aj situácia, že obrázok nebude vložený. Lebo by sa vložila pôvodná cesta.
Děkuji za odpověď.
Jde o to, že ta cesta k obrázku bude pokaždé jiná a pokaždé bude název obrázku také jiný.
Zde dávám kódy, které mám v obou tlačítkách.
Tlačítko nahrát fotografii
<code>Private Sub cmbNahratFoto_Click()
Dim ImageLocation As String
Dim J As String
Const cFile As String = "Image Files(*.bmp; *.jpg; *.jepg; *.png; *.tif),"
Application.FileDialog(msoFileDialogOpen).Show
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False
ImageLocation = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
Image1.Picture = LoadPicture(ImageLocation)
Image1.PictureSizeMode = fmPictureSizeModeStretch
'FileCopy ImageLocation, "" & J & ".JPG"
End Sub</code>
A tlačítko Zápis TPM!
<code>Private Sub btZapisTPM_Click()
Dim StrZadavatel As String
Dim StrPopiszavady As String
Dim StrcbZodpovednost As String
Dim StrMisto As String
Dim StrKontakt As String
Dim StrPatro As String
''Zkouška vepsání cesty obrázku do 11 sloupce
Dim fullPath As String
''
''Zkouška emailu
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
''
Dim dataSheet As Worksheet
Dim FirstEmptyRow As Long
Dim id As Integer
Dim i As Integer
Dim Poradove As Integer
Dim dateNow As Date
Dim timeNow As Date
dateNow = Date
timeNow = Time
Set dataSheet = ThisWorkbook.Worksheets("TPM")
FirstEmptyRow = dataSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
'Nastavení funkcí k promennym
StrPopiszavady = txbPopisZavady.Value
StrZadavatel = Application.UserName
StrPatro = cbxPatro.Value
StrMisto = cbxMisto.Value
StrcbZodpovednost = cbxZodpovednost.Value
id = dataSheet.Cells(FirstEmptyRow - 1, 2).Value
Poradove = dataSheet.Cells(FirstEmptyRow - 1, 1).Value
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
dataSheet.Unprotect "heslo"
ActiveWorkbook.Unprotect "heslo"
''Zkouška cesty sloupec 11
On Error Resume Next
fullPath = Selection.ShapeRange(1).LinkFormat.SourceFullName
fullPath = Selection.InlineShapes(1).LinkFormat.SourceFullName
MsgBox fullPath
''
'funkce maker
dataSheet.Cells(FirstEmptyRow, 1).Value = Poradove + 1
dataSheet.Cells(FirstEmptyRow, 2).Value = id + 1
dataSheet.Cells(FirstEmptyRow, 3).Value = dateNow
dataSheet.Cells(FirstEmptyRow, 4).Value = StrZadavatel
dataSheet.Cells(FirstEmptyRow, 5).Value = StrPopiszavady
dataSheet.Cells(FirstEmptyRow, 6).Value = StrcbZodpovednost
dataSheet.Cells(FirstEmptyRow, 7).Value = StrMisto
dataSheet.Cells(FirstEmptyRow, 8).Value = StrPatro
dataSheet.Cells(FirstEmptyRow, 11).Value = fullPath
dataSheet.Protect "heslo"
ActiveWorkbook.Protect "heslo"
Unload TPM
''EMAIL
On Error Resume Next
With OutMail
If cbxZodpovednost = "Údržba" Then
.to = "email"
ElseIf cbxZodpovednost = "Správce budov" Then
.to = "email"
End If
.CC = ""
.BCC = ""
.Subject = "Nové TPM"
.Body = "Máte nové TPM - pro přehled všech TPM navštivte adresu"
.Attachments.Add ActiveWorkbook.FullName
'You can add other files also like this
'.Attachments.Add ("C:\test.txt")
.Send 'or use .Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub</code>
Předem moc děkuji
citovat