כללי המרת תיבות טקסט בוורד לצורך העברה לאינדיזיין

  • הוסף לסימניות
  • #1
אני צריכה לעמד קובץ וורד באינדיזיין
הקובץ מורכב מאד עם הרבה תיבות טקסט המכילות בתוכן עיצוב שונים/טבלאות ועוד
שום דבר מהן לא עובר כמובן בייבוא לאינדיזיין
מי יודע מהי הדרך להמיר אותן באופן שיגיעו לאינדיזיין בצורה החלקה ביותר

(ראיתי שפורסם מאקרו לצורך העניין לפני מס' שנים
אך לא הצלחתי להסתדר איתו
יצוין שיש לי וורד 2010)

תודה מראש
 
  • הוסף לסימניות
  • #2
נכתב ע"י berko03;1370624:
אני צריכה לעמד קובץ וורד באינדיזיין
הקובץ מורכב מאד עם הרבה תיבות טקסט המכילות בתוכן עיצוב שונים/טבלאות ועוד
שום דבר מהן לא עובר כמובן בייבוא לאינדיזיין
מי יודע מהי הדרך להמיר אותן באופן שיגיעו לאינדיזיין בצורה החלקה ביותר

(ראיתי שפורסם מאקרו לצורך העניין לפני מס' שנים
אך לא הצלחתי להסתדר איתו
יצוין שיש לי וורד 2010)

תודה מראש
מה קורה שאתה שומר בשם לקובץ טקסט נקי. זה גם מעלים אתהטקסט?
 
  • הוסף לסימניות
  • #3
מה קורה שאתה שומר בשם לקובץ טקסט נקי. זה גם מעלים אתהטקסט?

לא כ"כ הבנתי את השאלה
אם הכוונה לשמירת הקובץ בלי תיבות הטקסט - מסתבר שאז הטקסט שלא בתיבות נשאר ולא נעלם


הבעיה שהקובץ מלא בתיבות טקסט ומה שאני מחפשת הוא להמירן באופן אוטומטי לטקסט או לכל דבר אחר שכן יעבור לאינדיזיין (הכי טוב שיעבור כאובייקט מעוגן)
 
  • הוסף לסימניות
  • #4
נכתב ע"י berko03;1370788:
לא כ"כ הבנתי את השאלה
אם הכוונה לשמירת הקובץ בלי תיבות הטקסט - מסתבר שאז הטקסט שלא בתיבות נשאר ולא נעלם


הבעיה שהקובץ מלא בתיבות טקסט ומה שאני מחפשת הוא להמירן באופן אוטומטי לטקסט או לכל דבר אחר שכן יעבור לאינדיזיין (הכי טוב שיעבור כאובייקט מעוגן)

אם אתה בוחר בתפריט הוורד שמירה בשם. ושם בסוג הקובץ בוחר טקסט נקי (txt)
האם זה מאבד את התיבות?
 
  • הוסף לסימניות
  • #5
נכתב ע"י berko03;1370788:
לא כ"כ הבנתי את השאלה
אם הכוונה לשמירת הקובץ בלי תיבות הטקסט - מסתבר שאז הטקסט שלא בתיבות נשאר ולא נעלם


הבעיה שהקובץ מלא בתיבות טקסט ומה שאני מחפשת הוא להמירן באופן אוטומטי לטקסט או לכל דבר אחר שכן יעבור לאינדיזיין (הכי טוב שיעבור כאובייקט מעוגן)

נ"ב בברירת המחדל למיטב זכרוני כל תיבה מעוגנת בוורד אם היא בהגדרה בתוך השורה. מתקבלת כאובייקט מעוגן באינדזיין.

נסה לבדוק ולשחק בהגדרות.
פעם קרה לי דבר דומה ובפורום אופיס נתנו לי מאקרו לשנות ההגדרה לכל התמונות בוורד שיהיו בתוך השורה וכך יובאו לאינדזיין גם כן
 
  • הוסף לסימניות
  • #6
האם יש לך המאקרו הנ"ל?
אני לא מוצאת אותו
 
  • הוסף לסימניות
  • #7
קוד:
Sub RemoveTextBox2()
    Dim shp As Shape
    Dim oRngAnchor As Range
    Dim sString As String

    For Each shp In ActiveDocument.Shapes
        If shp.Type = msoTextBox Then
            ' copy text to string, without last paragraph mark
            sString = Left(shp.TextFrame.TextRange.Text, _
              shp.TextFrame.TextRange.Characters.Count - 1)
            If Len(sString) > 0 Then
                ' set the range to insert the text
                Set oRngAnchor = shp.Anchor.Paragraphs(1).Range
                ' insert the textbox text before the range object
                oRngAnchor.InsertBefore _
                  "Textbox start << " & sString & " >> Textbox end"
            End If
            shp.delete
        End If
    Next shp
End Sub
 
  • הוסף לסימניות
  • #8
נראה לי שזה המאקרו
 
  • הוסף לסימניות
  • #9
אמנם מאקרו ישן, אבל כיון שקיבל הפניה לאחרונה [כאן].
הייתי מציע לתקן איזה משהו במאקרו הזה, כיון שעל פניו הוא לא מצליח לרוץ ולטפל בכל תיבות הטקסט, לכאורה כיון שבמהלך הלולאה נעשית המחיקה של תיבת הטקסט: shp.delete.
כמו כן נראה לי מיותר להכניס פתאום טקסט לועזי: Textbox start לציין התחלה של תיבת טקסט ו- Textbox end, כאשר המאקרו מכניס ממילא את הטקסט בתוך גובלים זוית כפולים.
לכן הנה המאקרו שלפי דעתי יותר מתאים לזה (גם צירפתי קובץ וורד לבדיקה):
קוד:
Sub RemoveTextBox3()
    Dim doAgain As Boolean
    Dim shp As Shape
    Dim oRngAnchor As range
    Dim sString As String
    Dim bFound As Boolean

Again:
    doAgain = False
    For Each shp In ActiveDocument.Shapes
        If shp.Type = msoTextBox Then
            If Not bFound Then bFound = True
            ' copy text to string, without last paragraph mark
            sString = Left(shp.TextFrame.TextRange.Text, _
              shp.TextFrame.TextRange.Characters.Count - 1)
            If Len(sString) > 0 Then
                ' set the range to insert the text
                Set oRngAnchor = shp.Anchor.Paragraphs(1).range
                ' insert the textbox text before the range object
                oRngAnchor.InsertBefore _
                  "<< " & sString & " >>"
            End If
            shp.Delete
            
        End If
       
        
    Next shp
    
    For Each shp In ActiveDocument.Shapes
        If shp.Type = msoTextBox Then
            doAgain = True
            Exit For
        End If
    Next shp
    
    If doAgain Then GoTo Again
    
   If bFound Then
     MsgBox ("TextBox cancel finnished!")
    Else
     MsgBox ("No TextBox where found!")
    End If
    
End Sub
 

קבצים מצורפים

  • דוגמא תיבות טקסט.docx
    KB 22.3 · צפיות: 113
נערך לאחרונה ב:
  • הוסף לסימניות
  • #10
איך אני מטמיעה את הקוד?
איפה?
יש איזו הדרכה?
תודה גדולה!!!
 
  • הוסף לסימניות
  • #11
אמנם מאקרו ישן, אבל כיון שקיבל הפניה לאחרונה [כאן].
הייתי מציע לתקן איזה משהו במאקרו הזה, כיון שעל פניו הוא לא מצליח לרוץ ולטפל בכל תיבות הטקסט, לכאורה כיון שבמהלך הלולאה נעשית המחיקה של תיבת הטקסט: shp.delete.
כמו כן נראה לי מיותר להכניס פתאום טקסט לועזי: Textbox start לציין התחלה של תיבת טקסט ו- Textbox end, כאשר המאקרו מכניס ממילא את הטקסט בתוך גובלים זוית כפולים.
לכן הנה המאקרו שלפי דעתי יותר מתאים לזה (גם צירפתי קובץ וורד לבדיקה):
קוד:
Sub RemoveTextBox3()
    Dim doAgain As Boolean
    Dim shp As Shape
    Dim oRngAnchor As range
    Dim sString As String

Again:
    doAgain = False
    For Each shp In ActiveDocument.Shapes
        If shp.Type = msoTextBox Then
            ' copy text to string, without last paragraph mark
            sString = Left(shp.TextFrame.TextRange.Text, _
              shp.TextFrame.TextRange.Characters.Count - 1)
            If Len(sString) > 0 Then
                ' set the range to insert the text
                Set oRngAnchor = shp.Anchor.Paragraphs(1).range
                ' insert the textbox text before the range object
                oRngAnchor.InsertBefore _
                  "<< " & sString & " >>"
            End If
            shp.Delete
        End If
    Next shp
   
    For Each shp In ActiveDocument.Shapes
        If shp.Type = msoTextBox Then
            doAgain = True
            Exit For
        End If
    Next shp
   
    If doAgain Then GoTo Again
End Sub
ישנם לקוחות רבים שמכניסים כותרות צד לתוך תיבת טקסט. לאיפה המאקרו הזה שולף את התוכן של התיבות? לפסקה לפני הפסקה שבאיזור שלה הן נמצאות?
 

פרוגבוט

תוכן שיווקי
פרסומת

פוסטים חדשים שאולי לא קראת....

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!

לוח מודעות

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק כה

אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
נקרא  2  פעמים
למעלה