Pytanie : redagować przodować przedmiot osadzać w PowerPoint przez PowerPoint macro

Cześć Ekspert,

I mieć Powerpoint macro który przepustka przez każdy wybrany przedmiot na obruszenie "zamieniać" procedura na tekst pudełko, na dane siatka w wykres i na słowo sztuka przedmiot.

Now, I musieć the ten sam typ funkcja na wbity Przodować przedmiot. Dawać ten macro w Powerpoint, ono komplikować to trochę dla i I móc zupełnie zupełnie nie.

What jakby przedmiot definicja I potrzebować sprawnie the odpowiednik:
1. kopia klikać dalej the przodować przedmiot "aktywować ono "
2. then wykonywać the odpowiednik "ActiveCell.SpecialCells (xlLastCell) .Select"
3. then iść nad każdy komórka między "A1" i "xlLastCell" zamieniać funkcja i uzasadnienie tests.

I dołączać the kod I obecnie używać, the kod I być tworzyć umieszczać między the dwa rząd" '************************ ********** ********** * "

Thanks dla twój pomoc!
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
Sub ChangeTagComplexe (StrRch () Jako Sznurek, TypObj Jako Integer)
'z wybrany wykres, makro- bieg przez makro- datasheet makro- wykres i ustalać ile rząd i kolumna zawrzeć w wykres
'asteric łańcuch być dokąd my dodawać the zamieniać funkcja zamieniać na asteric komórka w the datasheet the wykres
    
'TypObj = (1) = wybierać przedmiot
'TypObj = 2 = wszystkie przedmiot
'TypObj = 3 = wykres
'TypObj = 4 = textbox
'TypObj = 5 = wordart
'TypObj = 6 = Przodować Przedmiot

  'Przedmiot zmienna
    Ciemnawy oGraphChart Przedmiot
    Ciemnawy oDatasheet Przedmiot
    Ciemnawy oSh Kształt

    'Zmienna zmienna
    Ciemnawy lCol Długo
    Ciemnawy lRow Długo
    Ciemnawy LastCol Długo
    Ciemnawy LastRow Długo
    Ciemnawy X Długo
    Ciemnawy C, CC, CCC Długo
    Ciemnawy MaxRows Długo
    Ciemnawy MaxColumns Długo
    Ciemnawy Nom_Obj () Sznurek
    
    C = ActiveWindow.Selection.ShapeRange.Count

    ReDim Nom_Obj (C + 1)
    Dla CC = (1) C
        Nom_Obj (CC) = ActiveWindow.Selection.ShapeRange (CC). Imię
    Następny CC
    
    Dla CC = (1) C
    'dla obruszenie przedmiot na obruszenie
        ActiveWindow.Selection.SlideRange.Shapes.SelectAll
        ActiveWindow.Selection.ShapeRange (Nom_Obj (CC)). Wybiórka
        Ustalony oSh = ActiveWindow.Selection.ShapeRange (1)
        
        Jeżeli oSh.Type = msoEmbeddedOLEObject I (TypObj = (1) Lub TypObj = 2) Wtedy
            'redagować datagrid w wykres
            MaxRows = 100
            MaxColumns = 100
        
            Ustalony oGraphChart = oSh.OLEFormat.Object
            Ustalony oDatasheet = oGraphChart.Application.datasheet
            Z oDatasheet
                
                'Znalezisko LastRow
                Dla X = (1) MaxRows
                    Jeżeli. Rząd (X). Zawierać Wtedy
                        LastRow = X
                    Kończyć Jeżeli
                Następny X
                'Znalezisko LastCol
                Dla X = (1) MaxColumns
                    Jeżeli. Kolumna (X). Zawierać Wtedy
                        LastCol = X
                    Kończyć Jeżeli
                Następny X
                'Pełnia w the dane
                Dla lCol = (0) LastCol - (1)
                   Dla lRow = (0) LastRow - (1)
                        Jeżeli lCol = (0) Wtedy
                            Dla CCC = (1) 25
                                Jeżeli CStr (StrRch (CCC, 1)) <> "" Wtedy
                                    Jeżeli FrmTagRepl.CaseTrue = Prawdziwy Wtedy
                                        . Pasmo ("(0)" & CStr (lRow)). Wartość = Zamieniać (. Pasmo ("(0)" & CStr (lRow)). Wartość, StrRch (CCC, 1), StrRch (CCC, 2))
                                    Inny
                                        . Pasmo ("(0)" & CStr (lRow)). Wartość = Zamieniać (. Pasmo ("(0)" & CStr (lRow)). Wartość, StrRch (CCC, 1), StrRch (CCC, 2), vbTextCompare)
                                    Kończyć Jeżeli
                                Kończyć Jeżeli
                            Następny CCC
                        Inny
                            Dla CCC = (1) 25
                                Jeżeli CStr (StrRch (CCC, 1)) <> "" Wtedy
                                    Jeżeli FrmTagRepl.CaseTrue = Prawdziwy Wtedy
                                        . Pasmo (Chr (96 + lCol) & CStr (lRow)). Wartość = Zamieniać (. Pasmo (Chr (96 + lCol) & CStr (lRow)). Wartość, StrRch (CCC, 1), StrRch (CCC, 2))
                                    Inny
                                        . Pasmo (Chr (96 + lCol) & CStr (lRow)). Wartość = Zamieniać (. Pasmo (Chr (96 + lCol) & CStr (lRow)). Wartość, StrRch (CCC, 1), StrRch (CCC, 2), vbTextCompare)
                                    Kończyć Jeżeli
                                Kończyć Jeżeli
                            Następny CCC
                        Kończyć Jeżeli
                   Następny lRow
                Następny lCol
            Końcówka Z
         oSh.OLEFormat.DoVerb Wskaźnik: =1
         'ActiveWindow.Selection.SlideRange.Shapes.SelectAll
            ActivePresentation.Save
            'końcówka redagować datagrid w wykres
            oGraphChart.Application.Quit
        
        ElseIf (oSh.Type = msoTextBox Lub oSh.Type = msoPlaceholder Lub oSh.Type = 1) I (TypObj = (1) Lub TypObj = 3) Wtedy
            'redagować tekst pudełko
            Dla CCC = (1) 25
                Jeżeli CStr (StrRch (CCC, 1)) <> "" Wtedy
                    Jeżeli FrmTagRepl.CaseTrue = Prawdziwy Wtedy
                        oSh.TextFrame.TextRange.Text = Zamieniać (oSh.TextFrame.TextRange.Text, StrRch (CCC, 1), StrRch (CCC, 2))
                    Inny
                        oSh.TextFrame.TextRange.Text = Zamieniać (oSh.TextFrame.TextRange.Text, StrRch (CCC, 1), StrRch (CCC, 2), vbTextCompare)
                    Kończyć Jeżeli
                Kończyć Jeżeli
            Następny CCC
        ElseIf oSh.Type = msoTextEffect I (TypObj = (1) Lub TypObj = 4) Wtedy
            Dla CCC = (1) 25
                Jeżeli CStr (StrRch (CCC, 1)) <> "" Wtedy
                    Jeżeli FrmTagRepl.CaseTrue = Prawdziwy Wtedy
                        oSh.TextEffect.Text = Zamieniać (oSh.TextEffect.Text, StrRch (CCC, 1), StrRch (CCC, 2))
                    Inny
                        oSh.TextEffect.Text = Zamieniać (oSh.TextEffect.Text, StrRch (CCC, 1), StrRch (CCC, 2), vbTextCompare)
                    Kończyć Jeżeli
                Kończyć Jeżeli
            Następny CCC
        ElseIf oSh.Type = 6 I (TypObj = 1) Wtedy
            '*********************************************
            'kod potrzebować tutaj wbity Przodować przedmiot
            '(1): ustalać the ostatni kolumna i rząd aktywny prześcieradło
            '2: iść nad funkcja komórka i wykonywać zamieniać funkcja
            '*********************************************
        Kończyć Jeżeli
    Następny CC

Końcówka Okręt podwodny

Odpowiedź : redagować przodować przedmiot osadzać w PowerPoint przez PowerPoint macro

The prześcieradło kod modyfikować the ostatni kolumna i kopyto szewskie rząd w the przodować prześcieradło. Ale I móc the defination dla provided zmienna/przedmiot wśród the kod ty provided.

FrmTagRepl

Odpoczynek the kod provided provided:
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Kod ostatni kolumna i kopyto szewskie wiosłować:
MaxRows = oSh.OLEFormat.Object.Sheets (1).Cells (oSh.OLEFormat.Object.Sheets (1).Cells.Rows.Count, 1).End (xlUp). Rząd
MaxColumns = oSh.OLEFormat.Object.Sheets (1).Cells ((1), oSh.OLEFormat.Object.Sheets (1).Cells.Columns.Count). Końcówka (xlToLeft). Kolumna
LastCellAddress = oSh.OLEFormat.Object.Sheets (1).Cells.SpecialCells (xlCellTypeLastCell). Adres

'*************************************************
'* Kod wartość na Embeded przodować Prześcieradło *  
'*************************************************
Ciemnawy TrgetRange Jako Excel.Range

Ciemnawy TrgetRange Jako Excel.Range
Ustalony TrgetRange = oSh.OLEFormat.Object.Sheets (1).Range ("A1: " & LastCellAddress)

Dla TrgetRange Komórka W TrgetRange
    Cell.Value = "The wartość ty chcieć z!"
Następnie
Inne rozwiązania  
 
programming4us programming4us