2009-09-02 41 views
6

Tôi đang cố gắng tạo nút quay lại nhưng sử dụng siêu liên kết chỉ đơn giản là đưa tôi đến trang trước và kết thúc bằng một vòng lặp ... ví dụ: nếu tôi có slide 1 có liên kết đến slide 3, 4 & 5 rồi trượt 3 liên kết đến 6 & 7. Nếu tôi hiện đang trên trang trình chiếu 7 và nhấp vào nó thành công đưa tôi quay lại trang trình bày 3 nhưng sau đó tôi muốn nhấp lại và kết thúc ở trang trình bày 1 thay vì quay lại trang trình bày 7 (hy vọng tôi có ý nghĩa gì đó!).Phân nhánh trang trình bày trong PowerPoint (VBA)

Tôi đoán cách duy nhất để tôi làm điều này là với VBA bất cứ ai có thể cho tôi một số lời khuyên về cách tốt nhất để tạo ra một nút quay lại? (Tôi đang sử dụng PowerPoint 2007)

+3

Scripting là lập trình. VBA là lập trình. – Smandoli

Trả lời

2

Có vẻ như bạn muốn có một 'đường dẫn đường dẫn' của các trang trình bày được truy cập, thay vì một nút quay lại đơn giản. Vì vậy, bạn cần một cách để bảo tồn đường mòn.

Điều này có thể được giải quyết bằng mảng động. Trình duyệt mới sẽ thêm bản ghi vào mảng. Các vị trí "Tiếp theo" và "Trước" của bạn sẽ được tìm thấy bằng cách di chuyển lên hoặc xuống mảng. Bạn sẽ có một số câu đố logic nhẹ. Tôi ghét giới thiệu bạn a generic resource, nhưng tôi đã hết các chi tiết cụ thể và tổng quan có thể hữu ích.

CẬP NHẬT: Tôi muốn điều này trong quá khứ cho MS Access và tôi nghĩ rằng tôi sẽ dễ dàng tìm thấy một giải pháp đoạn mã. Nhưng bây giờ tôi đi tìm kiếm (nghĩ rằng nó sẽ chuyển đổi cho bạn một cách dễ dàng là tốt), và tôi không tìm thấy bất cứ điều gì. Điều này thật đáng ngạc nhiên vì tôi tưởng tượng nó sẽ rất thú vị để xây dựng. Hoặc ... khó xây dựng hơn tôi dự đoán.

2

Có một cách thực sự cồng kềnh để thực hiện điều này trong PPT trực tiếp mà không cần lập trình. Bạn sẽ cần "trang trình bày hướng về phía trước" và 2 bộ "trang trình bày quay mặt về phía sau". Backwards là hai loại - hậu vệ và hậu vệ. Tất cả chúng có thể giống nhau, nhưng làm cho các chữ cái ẩn bị ẩn (ví dụ: thay vì "Trang trình bày 3", bạn sẽ cần "Trang trình bày 3a" và "Trang trình bày 3b" và "Trang trình bày 3c"). Chúng được ẩn để khi bạn tiến hành thông thường, bạn sẽ không thấy chúng, nhưng khi bạn liên kết với chúng, chúng sẽ xuất hiện. Danh sách liên kết của bạn trên trang trình bày "a" phải luôn trỏ đến trang trình bày "b" và các trang trình bày "b" của bạn sẽ trỏ tới trang trình bày "c". Siêu liên kết của bạn trên "nút quay lại" trên "a" trang trình bày phải là "trang trình bày trước" và trên trang trình bày "c" phải là "trang trình bày cuối cùng" và trên trang "h" nên là "trang trình bày đầu tiên" (sử dụng 'hành động' để đặt này thay vì 'siêu liên kết').

Mất một lúc để hoàn thành, nhưng có thể thực hiện được.

2

Tôi đã vật lộn với một vấn đề tương tự ngày hôm nay và tạo ra một "đường dẫn" nhỏ - máy phát điện cho powerpoint. Không có tính năng liên kết, nhưng bạn có thể thực hiện nó nếu bạn thích: Github Project

phần thiết yếu của mã

Public Sub breadcrumbs(ByVal count As Integer, ByRef titles() As String) 
    Dim cntr As Integer 
    Dim content() As String 
    Dim margin As Integer 
    Dim width As Integer 
    '---------------------------- 

    ' Set Titles 
    content = titles 
    cntr = 0 
    ' Set width 
    width = ((Application.ActivePresentation.PageSetup.SlideWidth - (margin * count * 2) - 20)/count) - 50 

    ' Loop through all slides 
    For Each sld In Application.ActivePresentation.Slides 
     ' generate breadcrumb for each title 
     For Each con In content 
      sld.Shapes.AddShape(1, (50 + (width * cntr)), 15, width, 50).TextFrame.TextRange.Text = con 
      cntr = cntr + 1 
     Next con 
     cntr = 0 

    Next sld 

End Sub 
+1

Trong khi liên kết bạn cung cấp có thể trả lời câu hỏi, tốt nhất bạn nên đăng trực tiếp các phần thiết yếu của giải pháp trong câu hỏi Stack Overflow trong trường hợp liên kết không hợp lệ trong tương lai. – Kmeixner

+0

Bạn có ý giống như các phần của mã không? – Zanidd

+0

Có, Stack Overflow là nơi hướng đến những người nhận được trợ giúp về các câu hỏi lập trình của họ. Trong hầu hết các trường hợp, các ví dụ mã với một số từ mô tả cách giải thích vấn đề mã ví dụ như thế nào trong câu trả lời của bạn. – Kmeixner

Các vấn đề liên quan