PDA

View Full Version : نمایش فایل Power Point بر روی فرم



Behrouz_Rad
دوشنبه 09 مرداد 1385, 15:51 عصر
سلام.
کسی از دوستان کامپوننتی یا روشی بدین منظور سراغ نداره؟
(شاید بشه فرم باز شده ی آفیس رو به Child برنامه تبدیل کرد و بر روی فرم نشون داد)
?any idea

majid_afra222
دوشنبه 09 مرداد 1385, 18:59 عصر
سلام
یه نگاهی به این بنداز شاید به کارت اومد.

علیرضا مداح
دوشنبه 09 مرداد 1385, 19:02 عصر
سلام دوست عزیز
مثالی از MSDN:در خصوص خودکارسازی(Automation) پاورپوینت:
ابتدا توسط پنجره Add Reference ، آبجکتهای COM بنامهای Microsoft Power Point Object Library و Microsoft Graph Object Library را به پروژه خود اضافه نمایید ، سپس کد زیر را در بالای کد Form1.vb قرار دهید :


Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
Imports Office = Microsoft.Office.Core
Imports Graph = Microsoft.Office.Interop.Graph

سپس یک دکمه بر روی فرم قرار داده و کد زیر را در داخل رویداد کلیک مربوط به آن وارد نمایید :



Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Const sTemplate =
"C:\Program Files\Microsoft Office\Templates\Presentation Designs\Blends.pot"
Const sPic = "C:\WINNT\Soap Bubbles.bmp"
Dim oApp As PowerPoint.Application
Dim oPres As PowerPoint.Presentation
Dim oSlide As PowerPoint.Slide
Dim bAssistantOn As Boolean
'Start Powerpoint and make its window visible but minimized.
oApp = New PowerPoint.Application()
oApp.Visible = True
oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized
'Create a new presentation based on the specified template.
oPres = oApp.Presentations.Open(sTemplate, , , True)
'Build Slide #1:
'Add text to the slide, change the font and insert/position a
'picture on the first slide.
oSlide = oPres.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
With oSlide.Shapes.Item(1).TextFrame.TextRange
.Text = "My Sample Presentation"
.Font.Name = "Comic Sans MS"
.Font.Size = 48
End With
oSlide.Shapes.AddPicture(sPic, False, True, 150, 150, 500, 350)
oSlide = Nothing
'Build Slide #2:
'Add text to the slide title, format the text. Also add a chart to the
'slide and change the chart type to a 3D pie chart.
oSlide = oPres.Slides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
With oSlide.Shapes.Item(1).TextFrame.TextRange
.Text = "My Chart"
.Font.Name = "Comic Sans MS"
.Font.Size = 48
End With
Dim oChart As Graph.Chart
oChart = oSlide.Shapes.AddOLEObject(150, 150, 480, 320, _
"MSGraph.Chart.8").OLEFormat.Object
oChart.ChartType = Graph.XlChartType.xl3DPie
oChart = Nothing
oSlide = Nothing
'Build Slide #3:
'Add a text effect to the slide and apply shadows to the text effect.
oSlide = oPres.Slides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank)
oSlide.FollowMasterBackground = False
Dim oShape As PowerPoint.Shape
oShape = oSlide.Shapes.AddTextEffect(Office.MsoPresetTextEf fect.msoTextEffect27, _
"The End", "Impact", 96, False, False, 230, 200)
oShape.Shadow.ForeColor.SchemeColor = PowerPoint.PpColorSchemeIndex.ppForeground
oShape.Shadow.Visible = True
oShape.Shadow.OffsetX = 3
oShape.Shadow.OffsetY = 3
oShape = Nothing
oSlide = Nothing
'Modify the slide show transition settings for all 3 slides in
'the presentation.
Dim SlideIdx(3) As Integer
SlideIdx(0) = 1
SlideIdx(1) = 2
SlideIdx(2) = 3
With oPres.Slides.Range(SlideIdx).SlideShowTransition
.AdvanceOnTime = True
.AdvanceTime = 3
.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut
End With
Dim oSettings As PowerPoint.SlideShowSettings
oSettings = oPres.SlideShowSettings
oSettings.StartingSlide = 1
oSettings.EndingSlide = 3
'Prevent Office Assistant from displaying alert messages.
bAssistantOn = oApp.Assistant.On
oApp.Assistant.On = False
'Run the slide show and wait for the slide show to end.
oSettings.Run()
Do While oApp.SlideShowWindows.Count >= 1
System.Windows.Forms.Application.DoEvents()
Loop
oSettings = Nothing
'Reenable Office Assisant, if it was on.
If bAssistantOn Then
oApp.Assistant.On = True
oApp.Assistant.Visible = False
End If
'Close the presentation without saving changes and quit PowerPoint.
oPres.Saved = True
oPres.Close()
oPres = Nothing
oApp.Quit()
oApp = Nothing
GC.Collect()
End Sub

Behrouz_Rad
دوشنبه 09 مرداد 1385, 21:38 عصر
علیرضا جان!
منظورم Automation نبود...
در مورد Automation با مجموعه ی Office هیچ مشکلی ندارم...
منظور من نمایش فایل Power Point بر روی فرم هست. بدون اینکه نیازی به باز کردن Power Point باشه...
مثلا Microsoft Office Spreadsheet Control برای نمایش فایل Excel استفاده میشه....
حال به دنبال کنترل یا روشی برای نمایش فایل PP بر روی فرم هستم.
مرسی.

علیرضا مداح
دوشنبه 09 مرداد 1385, 23:38 عصر
بهروز جان من کامپوننت خاصی در این خصوص سراغ ندارم ، ولی پیشنهاد من اینست که ابتدا فایل پاورپوینت مورد نظرت را به HTML تبدیل کرده و بعد توسط کنترل WebBrowser آن را نمایش دهی .
تبدیل فایل پاورپوینت به HTML :
http://www.codeproject.com/vb/net/litewait.asp

نمایش فایل پاورپوینت در WebApplication :
http://www.codeproject.com/aspnet/newss.asp

Behrouz_Rad
سه شنبه 10 مرداد 1385, 07:56 صبح
مرسی علی!
تولدم مبارک....