• Etkinlik Takvimi
  • Site Haritası
  • Hakkında
    • Biz Kimiz
    • Sponsorluk
      • Sitene Banner Ekle
      • Reklam Ver
  • İletişim

MSHOWTO Topluluğu ve Bilişim Portalı

  • Anasayfa
  • Forum
  • Tüm Makaleler
  • Altyapı
    • Cloud Hizmetleri (Bulut Bilişim)
      • Microsoft Azure
      • Microsoft Office 365
      • EMS
      • OMS
    • Open Source
    • Container
    • Server Ailesi
      • Microsoft PowerShell
      • Server 2019
      • Server 2016
      • Server 2012
      • Server 2008
      • Server 2003
    • Exchange Server
      • Exchange Server 2019
      • Exchange Server 2016
      • Exchange Server 2013
      • Exchange Server 2010
      • Exchange Server 2007
      • Exchange Server 2003
    • Client Ürünleri
      • Windows 10
      • Windows 8
      • Windows 7
      • Mobil
      • Microsoft Office
    • Sanallaştırma
    • System Center
      • Operation Manager (SCOM)
      • Configuration Manager (SCCM)
      • Service Manager (SCSM)
      • Virtual Machine Manager (SCVMM)
      • Data Protection Manager (DPM)
      • Orchestrator (SCorh)
    • Network
    • Üretici Teknolojileri
    • Güvenlik Ürünleri
      • Forefront
      • ISA Server
      • Juniper ve Fortinet
      • Symantec ve Trend Micro
    • IT Standartları
  • Yazılım
    • DevOps
    • C#
    • ASP.Net
    • Visual Studio
    • Mobil Yazılım
    • Java
    • SQL Server
    • Dynamics CRM
  • Daha Fazla
    • Haberler
    • Seminerler
    • Webcast
    • Video
    • Sunumlar
  • Fotoğraflar
BUNLARA BAKTINIZ MI :
  • VM Hardware Version 14 Yeni Özellikler
  • Oracle DB HR Veritabanı Nedir ve HR User Oluşturma Nasıl Yapılır?
  • Vmware Esxi 6.7 Kurulumunda Cisco Flexibleflash Hatasının Çözümü
  • Yazılım Geliştiriciler için Azure: Azure Kubernetes Service (AKS) – Bölüm 2
  • VMware DRS Kullanımı
  • MSHOWTO SQL DAY Etkinliğine Davetlisiniz
  • MSHOWTO Haftanın Özeti : 19 | 07
Advertisement
Advertisement
Buradasınız :Anasayfa » Tüm Makaleler » Server Ailesi » Server 2012 » Powershell İle Office Word Kullanımına Giriş

Powershell İle Office Word Kullanımına Giriş

Yazar :Hasan Güral Tarih : 26/01/2015 Kategori : Server 2012 2 Yorum
Okuma Süresi: 4 dakika

Bu ilk makalemiz de Powershell ile Microsoft Word üzerine çeşitli metinler gönderirken font ve stillerini nasıl değiştirebiliriz hakkında bilgi vereceğim. Powershell ile Microsoft Word uygulamasının beraber kullanmak için Powershell içerisinde COM Objesini yaratmamız gerekmektedir. Ben bu yazımız içerisinde Word 2013 versiyonu kullanıyor olacağım. Kullanmış olduğum methodlar sizin Office versiyonunuza göre değişiklik gösterebilir. COM Objeler için daha fazla bilgi almak isterseniz aşağıdaki adresten bakabilirsiniz.

http://en.wikipedia.org/wiki/Component_Object_Model

Powershell içerisinde COM Objesi yaratmak için aşağıdaki adımlar izlenir.

Herhangi bir COM Objesi yaratmak için Powershell içerisinde kullanacağımız Cmdlet “New-Object”‘. Office Word uygulamasını çağırmak için ise “New-Object” cmdlet içerisinde –ComObject parametresine Word.Application göndermektir. Aşağıdaki örnekte bu işlemi bir değişkene atayarak yapıyorum.

$MSWord = New-Object -ComObject Word.Application


Resim-1

COM Obje nesnemi oluşturduktan sonra etkin olsa bile bir konuyu unutmayalım, process oluşuyor fakat arka tarafta “Visible” değerini “$false” olduğu için uygulamayı görmemekteyiz. Processler üzerinden kontrol ediyorum uygulamam başlatılmış fakat ben görmemekteyim.


Resim-2

Eğer Word uygulamasını oluşturduktan sonra, gözükmesini istiyorsanız,

$MSWord.Visible = $true

Yukarıdaki şeklinde “Visible” değerini True olarak yazmanız gerekmektedir.

$MSWord = New-Object -ComObject Word.Application

$MSWord.Visible = $true


Resim-3

Artık, Word uygulamasını görebiliriz. Ama aslında dikkat ettiyseniz yazmaya başlamak için herhangi bir belge oluşturmadık. Bunun için “Documents.Add()”yöntemini çağırarak gerçekleştireceğiz. “$Documents” adında bir değişken oluşturdum ve “$MsWord.Documents.Add()” yöntemini değişkene atayıp yazımızın ilerleyen kısmında kullanıyor olacağım. “Selection” yöntemini seçerek yazı yazmaya başlayabilirsiniz.

$MSWord = New-Object -ComObject Word.Application

$MSWord.Visible = $true

$Document = $MSWord.Documents.Add()

$Selection = $MSWord.Selection


Resim-4

Word İçerisine Yazı Yazmak

Word içerisine yazı yazmak için “TypeText()” yönteminin içerisine değer göndermeniz yeterlidir.

$Selection.TypeText (“Merhaba Hasan”)


Resim-5

Paragraf İle Beraber Çalışmak

Powershell içerisinden göndereceğiniz metinleri paragraf kullanarak ekleyebilirsiniz. Paragraf eklemek için kullanacağımız yöntem (Method) ise TypeParagraph() çağırmamız yeterli olacaktır. Çağırdığımız bu yöntem ile biz Word içerisinde yeni bir paragraf oluşturmamızı sağlayacaktır. TypeText() yöntemi ile kullanım örneği aşağıdaki gibidir.

$Selection.TypeParagraph()

$Selection.TypeText(“Merhaba Hasan”)


Resim-6

8 ve 9 satırda dikkat ettiyseniz 2 kez “TypeParagraph()” yöntemi çağırılmış ve Word içerisinde iki kez paragraf bırakılmıştır.

Word İçerisindeki Stiller İle Çalışmak

Word içerisindeki hazır stilleri kullanarak gönderdiğiniz metinlerin görünüşlerini değiştirebilirsiniz. Bu kısımda kullanacağımız yöntem ise ($Selection.Style = “Yazıstiligiriniz“) şeklinde belirleyebiliyoruz. Word üzerindeki gördüğümüz stiller,


Resim-7

Yazmamız gereken sadece kullanmak istediğimiz stilin adını “$Selection.Style = “Yazıstiligiriniz”)
içerisine yazmak.

$Selection.Style = “Heading 1”

$Selection.TypeText(“Active Directory Audit ve Raporlama”)

$Selection.TypeParagraph()


Resim-8

Word İçerisindeki Yazı Tiplerini Keşfetmek

Bu kısım içerisinde aşamalı olarak yazı tipleri ( bold, italic ) ve son aşamada ise fontların renk değişimini göz atıyor olacağız.

“$Selection.Font” kullanarak yazı tiplerini görebilirsiniz. Dikkat edin “Bold,İtalic” tam bir sayı ile ifade ediliyor. Yani ben Word içerisine göndereceğim değer “1” olarak belirlersem o değerim “Bold” olarak ayarlanacaktır. Aynı şekilde “Italic” içinde bu senaryo geçerlidir.


Resim-9

$Selection.Font.Bold = 1

$Selection.TypeText(‘Bu yazımız Bold olarak ayarlanmıştır.’)

$Selection.TypeParagraph()

$Selection.Font.Bold = 0

$Selection.Font.Italic = 1

$Selection.TypeText(‘Bu yazımız Italic olarak ayarlanmıştır.’)


Resim-10

Not: Yukarıda “$Selection.Font.Bold = 0” değerinin belirtilmesinin sebebi sıradaki satırda gönderilen değerin “Bold” olarak ayarlanmamasıdır.

Son olarak Word içerisine gönderdiğimiz metinleri renklerini değiştirmek için yapacağımız işlemlerden bahsetmek istiyorum.

Yukarıda “$Selection.Font” çalıştırdığımız zaman “Bold, Italic” değerlerini gördük ve bunları değiştirmekten bahsettik. Listelenen değerler içerisinde “Color” değerini değiştirerek Font renkleri ile oynayabilirsiniz. Yukarıdaki örnekte Color değerinin karşısında “wdAutomaticColor” yazmaktadır. Yapmamız gereken sadece bu değeri değiştirmek. Buraya gelecek değerleri listelemek için yazmanız gereken;

[enum]::GetNames([microsoft.office.interop.word.wdcolor])


Resim-11

Yazı renklerini değiştirmek için,

$Selection.Font.Color = ‘wdColorSkyBlue’

$Selection.TypeText(‘Yazımız renk olarak <wdColorSkyBlue> ayarlanmıştır.’)

$Selection.TypeParagraph()

$Selection.Font.Color = ‘wdColorRed’

$Selection.TypeText(‘Yazımız renk olarak <wdColorRed> ayarlanmıştır.’)


Resim-12

Powershell ile Word içerisinde gördüğünüz gibi birçok işlemler yaptık. Word üzerinde yapılan bu işlemleri kaydetmek kulağa ne kadar hoş geliyor? Hatırlarsanız, yazımızın başında “$Document” adında bir değişken oluşturmuş ve onu yazımızın ilerleyen kısmında kullanacağımda bahsetmiştim. Evet $Document değişkeni içerisinden “SaveAs” yöntemini (method) kullanarak bunu yapmamız mümkün. Bunun öncesinde bu “SaveAs” methodu iki adet parametre göndermemiz gerekmektedir. Bunlar dosya yolu ve dosyanın kayıt edilen formatı olacaktır. Word üzerinden bildiğimiz gibi Farklı Kaydet yaparak birçok format ile kaydetme şansımız mevcut. Bu formatları listelemek için;

[Enum]::GetNames([microsoft.office.interop.word.WdSaveFormat])


Resim-13

Gördüğümüz gibi yukarıdaki sonuçta birçok format karşımıza çıkmaktadır. Kaydetmek istediğiniz formatın adını yazarak işlemi tamamlayabilirsiniz. Artık aşağıdaki kodu kullanarak dosyanızı kaydedebilirsiniz.

$SaveLocation = ‘C:\Users\Hasan GURAL\Desktop\PowershellwithWord.doc’

$Document.SaveAs([ref]$SaveLocation,[ref]$SaveFormat::wdFormatDocument)

$MSWord.Quit()


Resim-14

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

Tag
officeoffice wordpowershellPowershell Officeword
Powershell ile Sıkıştırılmış Dosyalarınızı Nasıl Yönetirsiniz?
Active Directory Site and Services – Nedir? Nasıl Çalışır? Kavramsal Objeler – Detaylı Anlatım

Hakkında: Hasan Güral

Hasan Güral, Profesyonel olarak 5 senedir bilişim sektöründe çalışmaktadır. Üniversite eğitimiyle birlikte sektörde sistem uzmanı pozisyonunda görev yaptı. Halen Bilge Adam Bilgi Teknolojileri Akademisi'nde Danışman olarak çalışmaktadır. Microsoft ürün ailesi ve network altyapıları ile ilgilenmektedir.

İlgili yazılar

  • Group Managed Service Accounts (GMSA) Nedir?

    Group Managed Service Accounts (GMSA) Nedir?

    02/12/2018

  • Lingering Object Liquidator Tool ve Active Directory Domain Services Replication Hatasının Çözümü (Event ID 1988)

    Lingering Object Liquidator Tool ve Active Directory ...

    15/07/2018

  • Windows Server 2012’de Ulaşılamayan Domain Controller’ın (DC) Kaldırılması

    Windows Server 2012’de Ulaşılamayan Domain Controller’ın (DC) ...

    17/02/2017

  • Office 365 için IIS ile SMTP Relay Yapılandırması

    Office 365 için IIS ile SMTP Relay ...

    04/12/2016

2 Yorum

  1. Ahmet Aylin Öztürk
    26/01/2015 at 10:22

    Çok güzel bir makale, powershell’in yapabileceklerini görmek adına harika olmuş. Teşekkürler… 🙂

    Cevapla

Yorum Yazın

Cevabı iptal etmek için tıklayın.

Mshowto Topluluğu
  • linkedin
  • instagram
  • vimeo
  • youtube
  • twitter
  • googleplus
  • flickr
  • facebook

ARA

  1. Popüler
  2. En Son
  3. Yorum
  4. Tag
  • Android İşletim Sistemi ve Özellikleri

    Android İşletim Sistemi ve Özellikleri

    09/11/2010
  • Microsoft .NET Framework Tüm Sürümlerinin Yüklenmesi – Sorun Çözümü

    Microsoft .NET Framework Tüm Sürümlerinin Yüklenmesi – Sorun Çözümü

    11/09/2012
  • Adım Adım Backtrack 5 R3 GNOME Kurulumu – Nasıl Yapılır?

    Adım Adım Backtrack 5 R3 GNOME Kurulumu – Nasıl Yapılır?

    14/03/2013
  • Windows Server 2012′de Active Directory Kurulumu – Detaylı Anlatım

    Windows Server 2012′de Active Directory Kurulumu – Detaylı Anlatım

    27/06/2012
  • Unutulan Kablosuz Ağ (Wireless) Şifrelerini Bulma

    Unutulan Kablosuz Ağ (Wireless) Şifrelerini Bulma

    26/04/2012
  • VM Hardware Version 14 Yeni Özellikler

    VM Hardware Version 14 Yeni Özellikler

    21/02/2019
  • Veeam Backup & Replication v9.5 Update 4 Host Ekleme

    Veeam Backup & Replication v9.5 Update 4 Host Ekleme

    21/02/2019
  • Oracle DB HR Veritabanı Nedir ve HR User Oluşturma Nasıl Yapılır?

    Oracle DB HR Veritabanı Nedir ve HR User Oluşturma Nasıl Yapılır?

    20/02/2019
  • Veeam Backup & Replication v9.5 Update 4 Backup Repository Ekleme

    Veeam Backup & Replication v9.5 Update 4 Backup Repository Ekleme

    20/02/2019
  • Vmware Esxi 6.7 Kurulumunda Cisco Flexibleflash Hatasının Çözümü

    Vmware Esxi 6.7 Kurulumunda Cisco Flexibleflash Hatasının Çözümü

    19/02/2019
  • Orhan : Link kırılmış :D ...

  • gökhan : Eline sağlık Barış çok faydalı bir makale olmuş.. ...

  • Cem Aydın : Bu şekilde kurulum yaparsanız Elasticsearch 'un 9200 portunu tüm ağ ...

  • Engin : Ellerine sağlık Serdar. Güzel bir makale olmuş. ...

  • Sami Sari : Cok guzel bir makale gercekten cok begendim. Tebrik ederim sizi! Ma ...

microsoft server azure exchange mshowto powershell Office 365 nasıl kurulur hyper-v server 2012 server 2008 nasil yapilir windows 8 sccm windows 7 exchange server azure nedir nedir windows system center exchange 2010 security kurulum isa Windows Azure

KATEGORİLER

  • Altyapı
  • ASP.Net
  • AWS
  • C#
  • Citrix
  • Client Ürünleri
  • Cloud Hizmetleri (Bulut Bilişim)
  • Configuration Manager (SCCM)
  • Container
  • Data Protection Manager (DPM)
  • DevOps
  • Dynamics CRM
  • EMS
  • Exchange Server 2003
  • Exchange Server 2007
  • Exchange Server 2010
  • Exchange Server 2013
  • Exchange Server 2016
  • Exchange Server 2019
  • Forefront
  • Güvenlik Ürünleri
  • Haberler
  • İpuçları
  • ISA Server
  • IT Standartları
  • Java
  • Juniper ve Fortinet
  • Lync Server
  • Microsoft Azure
  • Microsoft Office
  • Microsoft Office 365
  • Microsoft PowerShell
  • Mobil
  • Mobil Yazılım
  • Network
  • OMS
  • Open Source
  • Operation Manager (SCOM)
  • Orchestrator (SCorh)
  • Sanallaştırma
  • Seminerler
  • Server 2003
  • Server 2008
  • Server 2012
  • Server 2016
  • Server 2019
  • Server Ailesi
  • Service Manager (SCSM)
  • SQL Server
  • Sunumlar
  • Symantec ve Trend Micro
  • System Center
  • Tüm Makaleler
  • Üretici Teknolojileri
  • Veeam
  • Video
  • Virtual Machine Manager (SCVMM)
  • Visual Studio
  • VMware
  • Webcast
  • Windows 10
  • Windows 7
  • Windows 8
  • Yazılım
  1. ETKİNLİK FOTOĞRAFLARI

    IMG_8122
    IMG_8122
  2. ARŞİVLER

  3. En Güçlü Bilişim
  • linkedin
  • instagram
  • vimeo
  • youtube
  • twitter
  • googleplus
  • flickr
  • facebook
© Copyright 2005-2019, Tüm Hakları Saklıdır. | Bağımsız Bir Organizasyondur.