Microsoft Word belgesinde kullanıcı girişini tekrarlama


11

Kullanıcıya bazı metin girme fırsatı verilecek bir belge oluşturmaya çalışıyorum ve bunu aynı belgedeki geri kalan yerlerde kullanmak istiyorum. Kullanıcı tarafından girilen metin, aynı belgedeki birçok yerde kullanılacaktır ve adın değiştirilmesi her zaman belgenin geri kalanına yansıtılmalıdır.

Örneğin, belgenin ilk sayfasında, kullanıcının adını ve yaşını almak ve aşağıdaki ekran görüntüsünde gösterildiği gibi başka yerlerde kullanmak istiyorum.

resim açıklamasını buraya girin

Adı ve yaşı almak için düz metin içerik kontrolü kullanmaya çalıştım. Ancak bunları metnime alan olarak eklemenin bir yolunu bulamadım.

Bunu nasıl başarabileceğim hakkında bir fikrin var mı? Bir hanımefendi yapmaya bile hazırım, ama verilerin bu belge dışında herhangi bir yerden gelmesini istemiyorum. Ekran görüntüsü Office 2013'te denendi, ancak 2007'den itibaren çalışıyorsa harika olurdu. Bunu makrolarla yapmak istemiyorum.

Yanıtlar:


6

Bence Sözlük şablonları ve DocVariables kullanmanız gerekecek. Bu aynı zamanda bazı VBa anlamına gelir, ancak bu eğitim

http://www.gmayor.com/BookmarkandVariableEditor.htm

Ancak, içeriği başka bir yerden okumanın bir örneği olarak, bu sizi devam ettirebilir ... Bu mükemmel değil, ama iyi bir başlangıç ​​olabilir!

Word'de, geliştirici araç çubuğunu şeride ekleyin.

Geliştirici araç çubuğundan, kontroller sekmesinden 2 metin kutusuna bırakın.

Ekle araç çubuğunu tıklayın.

Şimdi, ilk metin kutusuna tıklayın (metnin de kopyalanacağı metin kutusuna). Tüm metin kutusunun seçilmesi için sol taraftaki 3 küçük noktayı tıkladığınızdan emin olun. Seçtiğinizde, Yer İşareti (Bağlantılar altında) etkinleştirilmelidir. Üzerine tıklayın ve uygun bir ad verin.

İkinci metin kutusuna tıklayın ve aynısını yapın ancak bu sefer Çapraz Referans'a tıklayın. Açılır kutuda, yer işaretlerini seçin ve ardından söz konusu kitap işaretini bulun.

Bu ayarlanmıştır, ancak alanı manuel olarak güncellemeniz gerekir. Bu nedenle, ilk metin kutusuna bir metin yazın, ikincisine sağ tıklayın ve Alanları Güncelle'yi seçin. Dediğim gibi, mükemmel değil, ama umarım bir başlangıç!

Bu makalede bunun bir Şablon ve Makrolar ile yapılabileceği açıklanmaktadır. http://word.mvps.org/FAQs/Userforms/CreateAUserform.htm


Yer işaretini oluşturabilmenin anahtarı üç noktayı tıklamaktı.
shipr

12

Windows Word 2007 ve sonraki sürümlerde, Word'ün Ekle-> Hızlı Parçalar>> Belge Özelliğinden eklediği İçerik Denetimlerinden bazılarını kullanabilirsiniz ... Örneğin, "Yazar" Belge Özelliği'ni eklerseniz, Word, yerleşik özelliğe bağlıdır. İçerik denetiminin bir kopyasındaki değeri değiştirdiğinizde, özellik değeri güncellenir ve diğer tüm Yazar içerik denetimleri otomatik olarak güncelleştirilir. Bu, {AUTHOR} alanı eklemeniz, sonra seçmeniz ve güncellemeniz gereken Word 2007 öncesi yaklaşımdan farklıdır.

Geliştirici sekmesini kullanarak, ortaya çıkan içerik denetimini seçebilir ve ona "Yaş" gibi yeni bir Başlık verebilirsiniz. Ardından, kontrolün kopyalarını bu başlık ile kopyalayabilir / yapıştırabilirsiniz. Ayrıca, denetimlerin silinebilir olmaması da genellikle yararlıdır.

Yazar vb. Gibi geleneksel yerleşik özellikleri kullanmak istemiyorsanız, bunun yerine kullanabileceğiniz Kapak Sayfası Özellikleri adlı beş "özellik" vardır. Bunlara Belge Özelliği ... menüsünden de erişilebilir, ancak değerler farklı bir yerde, örneğin Word tarafından oluşturulan Özel XML bölümünde saklanır. Bunların Şirket Adresi, Şirket E-postası, Şirket Faks, Şirket Telefonu ve Yayın Tarihi olduğunu düşünüyorum. Yine, Geliştirici sekmesini kullanarak Başlığı değiştirebilirsiniz.

Bunun ötesinde, VBA ya da benzerlerini kullanmalısınız. İçerik denetimleri kullanıyorsanız, değerleri depolamak için kendi Özel XML parçanızı oluşturmanız ve denetimleri bu depoya bağlamanız gerekir. "Tekrarlanan veriler" için çeşitli seçeneklerin iyi bir özetini burada bulacaksınız

FWIW, Word'de form kullanmanız gerekiyorsa, formun en "uyumlu" tür alanı Windows Word'de "Eski Form alanları" olarak adlandırılır, çünkü bunlar Mac Word'de de çalışan tek türdür. Ancak, yalnızca Windows Word 2007 ve sonraki sürümlerde çalışmak için bir şeyler gerekiyorsa, içerik denetimlerinin bazı avantajları vardır.


Özel bir adla Belge Özelliği açılan listesinde görünmeleri için bir şablona ek özel "kapak sayfası özelliği" alanları eklemenin bir yolu var mı? Örneğin, "İş Numarası"? Belki doğrudan şablonun XML'ini düzenleyerek?
Rick,

@ Word yalnızca önceden tanımlanmış olanları tanıdığından "kapak sayfası" özelliklerini ekleyemezsiniz. Sen edebilirsiniz listede görünür özellikler ekleyebilir ama ya SharePoint gerekiyorsa veya SharePoint oluşturur çoğaltabiliyorsanız gerekiyor. SharePoint'iniz varsa ve özel sütunlarla bir Belge Kitaplığı oluşturabiliyorsanız, kitaplıktan açılan bir Word belgesinde ek.properties öğesi bulunur. belge oluşturulduktan sonra bağımsız olarak kullanılabilir, ancak içerik denetimleri aynı şekilde çalışmaz (öncelikle sunucu doğrulaması yoktur)

Teşekkürler. (.Dotx dosyası bir ZIP belgesinden biraz daha fazla olduğu için) XML dosyasını doğrudan düzenlemek mümkün olacak ve özel özellikleri bu şekilde eklemek merak ediyorum. Sadece bir kez yapmam gerekecekti. Yardımın için teşekkürler.
Rick,

1
Yapabilirsiniz, ancak Word'ün kullandığı XML oldukça karmaşıktır (belgedeki çeşitli "meta özellikler" için bir şema tanımlayan özel bir XML bölümü vardır.Ayrıca bildiğim her yerde XML ayrıntılı olarak tarif edilmez, bu nedenle bir başlangıç ​​noktasına ihtiyacınız vardır BTW, bu şeyler SharePoint ile kullanım için o kadar açık bir şekilde tasarlanmıştır ki, bağımsız olarak kullanırken herhangi bir destek almanız pek olası değildir.Ayrıca, herhangi biri bu şekilde oluşturulan belgeleri saklarsa zorluklara neden olabilir. Kendi SharePoinnt sistemi

Anladım. Muhtemelen yeteneğimin ötesinde değil, ama muhtemelen anlamaya zaman ayırmaya değmez. Sorunlarımı çözmek için diğer yolları keşfedeceğim.
Rick,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.