02. august 2009 - 20:50Der er
25 kommentarer og 1 løsning
Gem som Billede - Makro
Hejsa Jeg er ikke helt klar over om dette spørgamål skal ligge i PowerPoint i stedet, men nu prøver jeg her først:
Jeg skal bruge en makro, der når jeg klikker på et diagram:
1: Kopier diagrammet 2: Åbner PowerPoint 3: Indsætter diagrammet 4: Vælger Gem som Billede (ligger når man højre klikker på diagrammet 5: Vælger formatet GIF - hvis mulige skal der ikke være mulighed for at ændre dette 6: Mulighed for selv at vælge navn og hvor det skal gemmes!
Årsagen til at jeg skal denne snørklede vej er, at Excel ikke har funktionen Gem som Billede - Det har PowerPoint! Hvis I har andre smarte måder at lave diagrammet om til billede direkte i Excel er det også velkommen! For det er den eneste årsag til at det skal over i PowerPoint!
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Kunne du fortælle hvad dit ønskede resultat i PowerPoint er. Tror at du kan løse det hele fra PP, men jeg må vide lidt mere om hvilken opgave det er du skal løse
Det tror jeg ikke den kan. Jeg skal bruge nogle af funktionerne, der ligger i Excel for at danne et ordentligt diagram, der samtidig er dynamisk i opsætningen.
Hvad med at dele spørsmålet op i nogle stykker: F.eks. Hvordan åbner jeg PP og ser en ny præsentation. jeg kan godt få pp Åbnet men uden præsentation:
Sub StartPPS()
Dim oApp As PowerPoint.Application Dim myPresentation As PowerPoint.Presentation
Set oApp = CreateObject("PowerPoint.Application") oApp.Visible = True
'Set myPresentation = oApp.Presentations.open("Stien til dit show") End Sub
Sub Dias() ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:= _ xlPicture
' OpretDias ' Dim PPApp As PowerPoint.Application Dim PPTPres As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim strFILNAVN As String Dim strHDMAPPE As String
Set PPApp = CreateObject("Powerpoint.Application") Set PPTPres = PPApp.Presentations.Add PPApp.Visible = True PPApp.ActiveWindow.ViewType = ppViewSlide
With PPTPres.Slides Set PPTSlide = .Add(.Count + 1, ppLayoutText) End With Set PPTSlide = PPTPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex)
Dim mychart As Chart Set mychart = ActiveChart StrFILTYPE = InputBox("Indtast filtype, gif eller jpg", "Filtype") strHDMAPPE = InputBox("Indtast sti til filen", "Stinavn") strFILNAVN = InputBox("Indtast navn på fil uden filtype.", "Filnavnl") & "." & StrFILTYPE mychart.Export Filename:=strHDMAPPE & strFILNAVN, FilterName:=StrFILTYPE
End Sub
Ellers kan du hente et eksempel her,der giver mulighed for at gemme både som gif og jpg, men jeg får det først lagt op i morgen.
Jeg har lagt en ny version. Klik på knappen Søg sti for at udpege stien. Når du har den klikker du på Gem, hvorefter der returneres til formularen. Her kan du så udfylde resten.
Det er gået lidt hurtigt, så der er ingen indbygget fejlhåndtering, men det kommer nok i løbet af nogle dage. Fx giver den nu fejl, hvis du ikke har nmarkret et diagram, når du prøver at gemme, og der er også et par andre fejl, der kan opstå, hvis fx ikke alle felter er udfyldt eller udfyldt forkert.
Her er st svar. Hvis du skal kunne bruge funktionen i andre mapper er det nemmeste at gemme den som tilføjelsesprogram og så tilføje dette til Excel. Så er funktionen tilgengælgelig i alle mapper.
Til dit konkrete spørgsmål kan man ikke kopiere en formular fra en mappe til en anden, men man kan gå en omvej.
I Objektbrowseren højreklikker du på formens navn. Vælg export file og gem den et fornuftigt sted. I den nye mappe vælger du file - Import File, og imporerer den netop gemte form file. Så importeres formen og den tilhørende kode.
Når man ønsker at gennemse hvor man vil placere filen og fortryder ved at klikke på annuller, så får man en fejl i Commandbutten3(): filst = Mid(filna, 1, InStrRev(filna, "\") - 1)
Jeg tror ikke der er taget højde for det i vba'en!
Ønske: Jeg har en sti stående i Ark2: H3. Den vil jeg gerne have stående i Feltet STI, når man åbner GemDia - Hvordan gør jeg det?
Ønske: Når Gennemse åbnes, er der også mulighed for at skrive filnavn - Kan det komme ned i feltet Navn?
On Error Resume Next i makroen, der åbner gem-boksen, og du har helt ret. Den variant havde jeg ikek taget højde for.
Private Sub CommandButton3_Click() On Error Resume Next filna = Application.GetSaveAsFilename( _ fileFilter:="Grafikfiler (*.jpg), *jpg, Grafikfiler (*.gif), *gif") filst = Mid(filna, 1, InStrRev(filna, "\") - 1) Me!sti = filst End Sub'
Dit ønske opfyldes hvis du ændrer koden i Userform_Activate til
Private Sub UserForm_Activate() combobox1.AddItem "gif" combobox1.AddItem "jpg" combobox1.Style = fmStyleDropDownList combobox1.BoundColumn = 0 combobox1.ListIndex = 0 sti = Sheets("Ark2").Range("h3").Value End Sub
Hvis arket ikke hedder Ark2, skal du ændre til det reelle navn på arket, eller du kan skrive Sheets(2).Range("h3).value. Så henter den værdien fra H3 i det ark, der til enhver tid ligger nummer to.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.