< návrat zpět

MS Excel


Téma: Zašednuté políčka u vieweru - tisk obrázku z VBA rss

Zaslal/a 25.2.2015 15:32

Zdravím všechny,

už jsem dal dohromady zobrazování obrázků v "Prohlížeči fotografií" po kliknutí na buňku v excelu. Ale objevil se mi problém s tím, že obrázek nelze vytisknout, protože některá políčka viz příloha jsou zašedlé.
Může mi s tím někdo pomoct?
Děkuju MArek

Kód je:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Path As String, s As String


'první část odkazu

Path = "http://8.6.3.5:8080/PumpaServer/get_doc.pl?doc_id="


If Not Intersect(Target, Range("J12:J100")) Is Nothing And Target.Count = 1 Then

If IsNumeric(Target) And Len(Target) > 0 Then

'druhá část odkazu

s = Left(Target, Len(Target) - 2)


'otevrit odkaz

Shell "RunDLL32.exe C:\Windows\System32\Shimgvw.dll,ImageView_Fullscreen " & Path & s

End If

End If

End Sub

Příloha: zip23855_prohlizec-fotografii.zip (7kB, staženo 28x)
Zaslat odpověď >

#023860
avatar
možná je to tím, že je soubor zamčený. Našel jsem kod který to řeší, ale nevím jak ho zapasovat do mého stávajícího kodu.

Code :Private Sub B_ViewFull_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_ViewFull.Click
Dim fi As New System.IO.FileInfo(PathOfFile)
fi.Attributes = IO.FileAttributes.Normal

'following starts Windows Photo and Fax Viewer
Process.Start("C:\windows\system32\rundll32.exe", "C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen " & PathOfFile)
End Subcitovat
#023866
avatar
Ahoj, takhle přímo se mi to nedaří ani načíst.
Ale když ten jpg stáhnu do PC, pak bez problému.Private Declare Function URLDownloadToFile Lib "URLMON" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Sub DownLoad_Image_2()
Dim WebName As String, MyName As String, pzcx As Long, s As String
WebName = "http://img8.rajce.idnes.cz/d0803/6/6007/6007335_7fecf8904d46fb67d2998f7ae33776aa/images/2194.jpg?ver=0"
MyName = ThisWorkbook.Path & "\" & "MyFoto.jpg"
pzcx = URLDownloadToFile(0, WebName, MyName, 0, 0)
If Not pzcx Then
Shell "RunDLL32.exe C:\Windows\System32\Shimgvw.dll,ImageView_Fullscreen " & MyName
Else
MsgBox "CHYBA " & pzcx, , "DownLoad_Image"
End If
End Sub
citovat
#023869
avatar
Ahoj, tím to směrem jsem se začal ubírat nejdříve stáhnout a potom otevřít, ale narazil jsem s tím jak to zakomponovat do mého kódu. Používám jej tak že v buňkách mám 8 místné číslo ( např. 12345678) u kterého smažu poslední dvě s = Left(Target, Len(Target) - 2) a toto šesti místné číslo (123456) dosadím http://8.6.3.5:8080/PumpaServer/get_doc.pl?doc_id=123456" a otevřu.

Věděl by si jak na to?

Děkuju.citovat
#023870
avatar
Jelikož se jedná o dočasný soubor, mohl by se po zobrazení smazat ?citovat
#023890
avatar
To je odkaz na nějaký firemní server? No abych řekl pravdu, nevím o jaký souborový formát se jedná.
Nahoře píšeš, že se ti daří (až na tu nabídku) ten soubor zobrazit v prohlížeči přímo z toho odkazu. Opravdu? Mně ne.
Prvni zkus, s jedním konkrétním souborem, jestli ho ta Fce "URLDownloadToFile" vůbec stáhne.
Soubor otevři v prohlížeči, jestli je tento formát podporovaný. Pak to dosaď do toho kódu, co máš nahoře, podle mě je v pořádku.
A asi při zavírání sešitu ten "temp" odstraň.
Jinak nevím jak poradit, nemám na čem vyzkoušet.citovat
#023897
avatar
Ahoj Tvůj kód funguje v pohodě i položky jako print atd. jsou dostupné. Jen nevím jak ho zapasovat do mého kódu a ještě udělat to, aby se soubor smazal po otevření ve vieweru. Děkuju za pomoc. MArekcitovat
#023901
avatar
Tak jsem ještě koumal a nejjednodušší by bylo uložit obrázek do TEMP, mám to ve windows jako proměnou. A tvůj kód napasovat na můj. Předem díky za pomoc. Marekcitovat
#023904
avatar
Ahoj..tak už jsem přišel na i ukládání souboru do TEMP. Prosím jen tedy o integraci tohoto kódu do mého což je asi nad mé síly. Děkuju.

Private Declare Function URLDownloadToFile Lib "URLMON" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Sub DownLoad_Image_2()

Dim WebName As String, MyName As String, pzcx As Long, s As String

WebName = "http://1.2.3.6:8080/PumpaServer/get_doc.pl?doc_id=11111"

MyName = Environ("temp") & "\MyFoto.jpg"

pzcx = URLDownloadToFile(0, WebName, MyName, 0, 0)

If Not pzcx Then

Shell "RunDLL32.exe C:\Windows\System32\Shimgvw.dll,ImageView_Fullscreen " & MyName

Else

MsgBox "CHYBA " & pzcx, , "DownLoad_Image"

End If

End Sub
citovat
#023917
avatar
Ty stahované soubory jsou ve formátu JPG ?
Pak ten kód v Modulu Listu by vypadal nějak takto:
Option Explicit
Private Declare Function URLDownloadToFile Lib "URLMON" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("J12:J100")) Is Nothing And Target.Count = 1 Then
If IsNumeric(Target) And Len(Target) > 2 Then
Dim WebName As String, WebId As Long, MyName As String, pzcx As Long
WebId = Int(Target / 100)
WebName = "http://8.6.3.5:8080/PumpaServer/get_doc.pl?doc_id=" & WebId
MyName = Environ("temp") & "\MyFoto.jpg" 'JPG je OK?
pzcx = URLDownloadToFile(0, WebName, MyName, 0, 0)
Application.Wait (Now + TimeValue("0:00:01"))
If Not pzcx Then
Shell "RunDLL32.exe C:\Windows\System32\Shimgvw.dll,ImageView_Fullscreen " & MyName
Else
MsgBox "CHYBA " & pzcx, , "DownLoad_Image"
End If
End If
End If
End Sub

No a ten "Temp.???" soubor se nemůže smazat, dokud ho máš v prohlížeči.
Takže asi až v Modulu Sešitu při zavírání sešitu.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim MyName As String
MyName = Environ("temp") & "\MyFoto.jpg"
If Not Dir(MyName) = vbNullString Then Kill MyName
End Sub
citovat
#023946
avatar
Ahoj, děkuju moc za pomoc. Ať se ti to mnohokrát vrátí. Funguje to bezvadně. Marekcitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 0:34

Vynásobit hodnoty kurzem - Power Query

Alfan • 24.4. 16:32

Relativní cesta - zdroje Power Query

Alfan • 24.4. 15:44

Relativní cesta - zdroje Power Query

elninoslov • 24.4. 14:26

Jak odstraním duplicitní údaje

Mirek8 • 24.4. 12:13

Jak odstraním duplicitní údaje

elninoslov • 24.4. 8:57

Vyhledej

PavDD • 24.4. 8:56